[PATCH 3 of 3] worker: handle worker failures more aggressively

Bryan O'Sullivan bos at serpentine.com
Tue Feb 19 16:29:16 CST 2013

On Tue, Feb 19, 2013 at 2:23 PM, Isaac Jurado <diptongo at gmail.com> wrote:

> > +                problem[0] = _exitstatus(st)
> This single element list looks quite strange.  Does it have to do with
> working around the closure or the scoping?

Welcome to Python, where we can't have nice lexically scoped things.

> +    t = threading.Thread(target=waitforworkers)
> > +    t.start()
> Please pardon my ignorance, but the execution flow is starting to get
> confusing.  If I understood correctly, the idea is to kill the other
> children whenever one fails, right?


> What about putting all workers in the same process group, but different
> to the parent?

Process groups only exist on Unix. This code should (mostly?) work
untouched on other platforms.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20130219/8f1199ca/attachment.html>

More information about the Mercurial-devel mailing list