| |
| #################### |
| # |
| # NOTES |
| # |
| #################### |
| |
| ## def send_human(self, text, delay_min = 0, delay_max = 1): |
| ## pass |
| ## def spawn2(self, command, args): |
| ## """return pid, fd_stdio, fd_stderr |
| ## """ |
| ## pass |
| |
| |
| # Reason for double fork: |
| # http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC15 |
| # Reason for ptys: |
| # http://www.erlenstar.demon.co.uk/unix/faq_4.html#SEC52 |
| |
| # Nonblocking on Win32? |
| # Reasearch this as a way to maybe make pipe work for Win32. |
| # http://groups.google.com/groups?q=setraw+tty&hl=en&selm=uvgpvisvk.fsf%40roundpoint.com&rnum=7 |
| # |
| # if istty: |
| # if os.name=='posix': |
| # import tty |
| # tty.setraw(sys.stdin.fileno()) |
| # elif os.name=='nt': |
| # import win32file, win32con |
| # hstdin = win32file._get_osfhandle(sys.stdin.fileno()) |
| # modes = (win32file.GetConsoleMode(hstdin) |
| # & ~(win32con.ENABLE_LINE_INPUT |
| # |win32con.ENABLE_ECHO_INPUT)) |
| # win32file.SetConsoleMode(hstdin, modes) |
| |
| # Basic documentation: |
| # Explain use of lists of patterns and return index. |
| # Explain exceptions for non-handled special cases like EOF |
| |
| # Test bad fork |
| # Test ENOENT. In other words, no more TTY devices. |
| |
| #GLOBAL_SIGCHLD_RECEIVED = 0 |
| #def childdied (signum, frame): |
| # print 'Signal handler called with signal', signum |
| # frame.f_globals['pexpect'].GLOBAL_SIGCHLD_RECEIVED = 1 |
| # print str(frame.f_globals['pexpect'].GLOBAL_SIGCHLD_RECEIVED) |
| # GLOBAL_SIGCHLD_RECEIVED = 1 |
| |