|
|
|
@ -263,7 +263,7 @@ try:
|
|
|
|
|
print >>sys.stderr, "Child was terminated by signal", -retcode
|
|
|
|
|
else:
|
|
|
|
|
print >>sys.stderr, "Child returned", retcode
|
|
|
|
|
except OSError, e:
|
|
|
|
|
except OSError as e:
|
|
|
|
|
print >>sys.stderr, "Execution failed:", e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -751,7 +751,7 @@ class Popen(object):
|
|
|
|
|
if input:
|
|
|
|
|
try:
|
|
|
|
|
self.stdin.write(input)
|
|
|
|
|
except IOError, e:
|
|
|
|
|
except IOError as e:
|
|
|
|
|
if e.errno != errno.EPIPE and e.errno != errno.EINVAL:
|
|
|
|
|
raise
|
|
|
|
|
self.stdin.close()
|
|
|
|
@ -913,7 +913,7 @@ class Popen(object):
|
|
|
|
|
env,
|
|
|
|
|
cwd,
|
|
|
|
|
startupinfo)
|
|
|
|
|
except pywintypes.error, e:
|
|
|
|
|
except pywintypes.error as e:
|
|
|
|
|
# Translate pywintypes.error to WindowsError, which is
|
|
|
|
|
# a subclass of OSError. FIXME: We should really
|
|
|
|
|
# translate errno using _sys_errlist (or similar), but
|
|
|
|
@ -990,7 +990,7 @@ class Popen(object):
|
|
|
|
|
if input is not None:
|
|
|
|
|
try:
|
|
|
|
|
self.stdin.write(input)
|
|
|
|
|
except IOError, e:
|
|
|
|
|
except IOError as e:
|
|
|
|
|
if e.errno != errno.EPIPE:
|
|
|
|
|
raise
|
|
|
|
|
self.stdin.close()
|
|
|
|
@ -1256,7 +1256,7 @@ class Popen(object):
|
|
|
|
|
if data != "":
|
|
|
|
|
try:
|
|
|
|
|
_eintr_retry_call(os.waitpid, self.pid, 0)
|
|
|
|
|
except OSError, e:
|
|
|
|
|
except OSError as e:
|
|
|
|
|
if e.errno != errno.ECHILD:
|
|
|
|
|
raise
|
|
|
|
|
child_exception = pickle.loads(data)
|
|
|
|
@ -1303,7 +1303,7 @@ class Popen(object):
|
|
|
|
|
if self.returncode is None:
|
|
|
|
|
try:
|
|
|
|
|
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
|
|
|
|
|
except OSError, e:
|
|
|
|
|
except OSError as e:
|
|
|
|
|
if e.errno != errno.ECHILD:
|
|
|
|
|
raise
|
|
|
|
|
# This happens if SIGCLD is set to be ignored or waiting
|
|
|
|
@ -1377,7 +1377,7 @@ class Popen(object):
|
|
|
|
|
while fd2file:
|
|
|
|
|
try:
|
|
|
|
|
ready = poller.poll()
|
|
|
|
|
except select.error, e:
|
|
|
|
|
except select.error as e:
|
|
|
|
|
if e.args[0] == errno.EINTR:
|
|
|
|
|
continue
|
|
|
|
|
raise
|
|
|
|
@ -1387,7 +1387,7 @@ class Popen(object):
|
|
|
|
|
chunk = input[input_offset: input_offset + _PIPE_BUF]
|
|
|
|
|
try:
|
|
|
|
|
input_offset += os.write(fd, chunk)
|
|
|
|
|
except OSError, e:
|
|
|
|
|
except OSError as e:
|
|
|
|
|
if e.errno == errno.EPIPE:
|
|
|
|
|
close_unregister_and_remove(fd)
|
|
|
|
|
else:
|
|
|
|
@ -1426,7 +1426,7 @@ class Popen(object):
|
|
|
|
|
try:
|
|
|
|
|
rlist, wlist, xlist = select.select(
|
|
|
|
|
read_set, write_set, [])
|
|
|
|
|
except select.error, e:
|
|
|
|
|
except select.error as e:
|
|
|
|
|
if e.args[0] == errno.EINTR:
|
|
|
|
|
continue
|
|
|
|
|
raise
|
|
|
|
@ -1435,7 +1435,7 @@ class Popen(object):
|
|
|
|
|
chunk = input[input_offset: input_offset + _PIPE_BUF]
|
|
|
|
|
try:
|
|
|
|
|
bytes_written = os.write(self.stdin.fileno(), chunk)
|
|
|
|
|
except OSError, e:
|
|
|
|
|
except OSError as e:
|
|
|
|
|
if e.errno == errno.EPIPE:
|
|
|
|
|
self.stdin.close()
|
|
|
|
|
write_set.remove(self.stdin)
|
|
|
|
@ -1509,7 +1509,7 @@ def _demo_posix():
|
|
|
|
|
print "Trying a weird file..."
|
|
|
|
|
try:
|
|
|
|
|
print Popen(["/this/path/does/not/exist"]).communicate()
|
|
|
|
|
except OSError, e:
|
|
|
|
|
except OSError as e:
|
|
|
|
|
if e.errno == errno.ENOENT:
|
|
|
|
|
print "The file didn't exist. I thought so..."
|
|
|
|
|
print "Child traceback:"
|
|
|
|
|