blob: 8ff6cfe29da5c1637e9ce91d810b44fa4e902d96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
####################
#
# 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?
# Research 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
|