Mercurial > hg
view tests/test-demandimport.py.out @ 30423:237b2883cbd8
worker: make sure killworkers() never be interrupted by another SIGCHLD
killworkers() iterates over pids, which can be updated by SIGCHLD handler.
So we should either copy pids or prevent killworkers() from being interrupted
by SIGCHLD. I chose the latter as it is simpler and can make pids handling
more consistent.
This fixes a possible "set changed size during iteration" error at
killworkers() before cleanup().
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 17 Nov 2016 20:44:05 +0900 |
parents | 26a4e46af2bc |
children | 1914db1b7d9e |
line wrap: on
line source
os = <unloaded module 'os'> os.system = <built-in function system> os = <module 'os' from '?'> util = <unloaded module 'util'> util.system = <function system at 0x?> util = <module 'mercurial.util' from '?'> util.system = <function system at 0x?> hgweb = <unloaded module 'hgweb'> hgweb_mod = <unloaded module 'hgweb_mod'> hgweb = <module 'mercurial.hgweb' from '?'> fred = <unloaded module 're'> re = <unloaded module 'sys'> fred = <unloaded module 're'> fred.sub = <function sub at 0x?> fred = <proxied module 're'> re = <unloaded module 'sys'> re.stderr = <open file '<whatever>', mode 'w' at 0x?> re = <proxied module 'sys'> contextlib = <unloaded module 'contextlib'> contextlib.unknownattr = ImportError: cannot import name unknownattr node = <module 'mercurial.node' from '?'>