]> granicus.if.org Git - python/commitdiff
Issue #13812: When a multiprocessing Process child raises an exception, flush stderr...
authorAntoine Pitrou <solipsis@pitrou.net>
Fri, 27 Jan 2012 09:53:35 +0000 (10:53 +0100)
committerAntoine Pitrou <solipsis@pitrou.net>
Fri, 27 Jan 2012 09:53:35 +0000 (10:53 +0100)
1  2 
Lib/multiprocessing/forking.py
Lib/multiprocessing/process.py
Lib/test/test_multiprocessing.py
Misc/NEWS

index 47746cb179d1e2cf86beda8ebdd7d6d0d88d8b06,4e24d6a10fa28dcfde4e9f9e0040108be8940d14..b7de5679b1b2f90d56ebc805d489c12d9493c720
@@@ -129,15 -124,8 +129,13 @@@ if sys.platform != 'win32'
                      import random
                      random.seed()
                  code = process_obj._bootstrap()
-                 sys.stdout.flush()
-                 sys.stderr.flush()
                  os._exit(code)
  
 +            # `w` will be closed when the child exits, at which point `r`
 +            # will become ready for reading (using e.g. select()).
 +            os.close(w)
 +            util.Finalize(self, os.close, (r,))
 +
          def poll(self, flag=os.WNOHANG):
              if self.returncode is None:
                  try:
Simple merge
Simple merge
diff --cc Misc/NEWS
Simple merge