Issue #1731717: Fixed the problem where subprocess.wait() could cause an

OSError exception when The OS had been told to ignore SIGCLD in our process
or otherwise not wait for exiting child processes.
This commit is contained in:
Gregory P. Smith 2010-12-14 14:38:00 +00:00
parent 32ef70c827
commit e85db2bbb8
4 changed files with 34 additions and 2 deletions

View file

@ -1073,6 +1073,16 @@ class POSIXProcessTestCase(BaseTestCase):
close_fds=False, pass_fds=(fd, )))
self.assertIn('overriding close_fds', str(context.warning))
def test_wait_when_sigchild_ignored(self):
# NOTE: sigchild_ignore.py may not be an effective test on all OSes.
sigchild_ignore = support.findfile("sigchild_ignore.py",
subdir="subprocessdata")
p = subprocess.Popen([sys.executable, sigchild_ignore],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
self.assertEqual(0, p.returncode, "sigchild_ignore.py exited"
" non-zero with this error:\n%s" % stderr)
@unittest.skipUnless(mswindows, "Windows specific tests")
class Win32ProcessTestCase(BaseTestCase):