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

Isaac Jurado diptongo at gmail.com
Tue Feb 19 16:59:23 CST 2013


Replying Bryan O'Sullivan:
>
>> +    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?
>>
>
> Yes.
>
>> 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.

Oh, I didn't catch that.  As of the current code, your other emails and
the name _posixworker() I assumed, probably wrong, that the Windows
implementation would have its own idiosyncrasies.

Therefore, I was already aware that process groups only exist on Unix.
But so does os.fork().  Am I missing something?

Cheers.

-- 
Isaac Jurado

"The noblest pleasure is the joy of understanding."
                                  Leonardo da Vinci


More information about the Mercurial-devel mailing list