##// END OF EJS Templates
worker: discard waited pid by anyone who noticed it first...
Yuya Nishihara -
r30425:03f7aa2b default
parent child Browse files
Show More
@@ -111,11 +111,14 b' def _posixworker(ui, func, staticargs, a'
111 if e.errno == errno.EINTR:
111 if e.errno == errno.EINTR:
112 continue
112 continue
113 elif e.errno == errno.ECHILD:
113 elif e.errno == errno.ECHILD:
114 break # ignore ECHILD
114 # child would already be reaped, but pids yet been
115 # updated (maybe interrupted just after waitpid)
116 pids.discard(pid)
117 break
115 else:
118 else:
116 raise
119 raise
117 if p:
120 if p:
118 pids.remove(p)
121 pids.discard(p)
119 st = _exitstatus(st)
122 st = _exitstatus(st)
120 if st and not problem[0]:
123 if st and not problem[0]:
121 problem[0] = st
124 problem[0] = st
General Comments 0
You need to be logged in to leave comments. Login now