Bug 1060527 - [mozprocess] signal finished if IO completion port unexpectedly closed on windows, r=jgriffin
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Fri, 14 Nov 2014 08:47:32 -0500
changeset 215834 70a6139f55176194da27f99ca003a2ad777759fc
parent 215833 494c68e8fe3728b8994f560f7d89508c32d3cbbc
child 215835 53e97446fed99facc45642c93dca086a542cb94a
push id27827
push userryanvm@gmail.com
push dateFri, 14 Nov 2014 22:48:07 +0000
treeherdermozilla-central@acbd7b68fa8c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjgriffin
bugs1060527
milestone36.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1060527 - [mozprocess] signal finished if IO completion port unexpectedly closed on windows, r=jgriffin
testing/mozbase/mozprocess/mozprocess/processhandler.py
--- a/testing/mozbase/mozprocess/mozprocess/processhandler.py
+++ b/testing/mozbase/mozprocess/mozprocess/processhandler.py
@@ -358,16 +358,17 @@ falling back to not using job objects fo
                             self._process_events.put({self.pid: 'FINISHED'})
 
                     if not portstatus:
                         # Check to see what happened
                         errcode = winprocess.GetLastError()
                         if errcode == winprocess.ERROR_ABANDONED_WAIT_0:
                             # Then something has killed the port, break the loop
                             print >> sys.stderr, "IO Completion Port unexpectedly closed"
+                            self._process_events.put({self.pid: 'FINISHED'})
                             break
                         elif errcode == winprocess.WAIT_TIMEOUT:
                             # Timeouts are expected, just keep on polling
                             continue
                         else:
                             print >> sys.stderr, "Error Code %s trying to query IO Completion Port, exiting" % errcode
                             raise WinError(errcode)
                             break