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

Bryan O'Sullivan bos at serpentine.com
Wed Feb 20 12:59:42 CST 2013


On Wed, Feb 20, 2013 at 12:20 AM, Isaac Jurado <diptongo at gmail.com> wrote:

> What's the plan for Windows?  Threads or processes?
>

Threads won't help, because update is partly CPU bound and threads will all
serialize on the GIL.

So if there's to be an answer for Windows, it has to be processes,
presumably started via os.spawnv.

I'm in no rush to implement a Windows solution. I don't expect an approach
based on the multiprocessing module to be useful, because (a) people do all
kinds of perverse packaging things on Windows that are unlikely to work
with multiprocessing and (b) the multiprocessing module adds a ton of
overhead, so you have to do a lot of work to overcome its communication
costs.

(We can't use any of the various "Windows has something sort of like
fork(2)" approaches either, because they are all terribly broken.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20130220/e2b30c1e/attachment.html>


More information about the Mercurial-devel mailing list