A whole bunch of cleanups to state.Lock.
Now t/curse passes again when parallelized (except for the countall mismatch, since we haven't fixed the source of that problem yet). At least it's consistent now. There's a bunch of stuff rearranged in here, but the actual important problem was that we were doing unlink() on the lock fifo even if ENXIO, which meant a reader could connect in between ENXIO and unlink(), and thus never get notified of the disconnection. This would cause the build to randomly freeze.
This commit is contained in:
parent
132ff02840
commit
362ca2997a
6 changed files with 65 additions and 43 deletions
|
|
@ -36,6 +36,7 @@ def mkdirp(d, mode=None):
|
|||
def log_(s):
|
||||
sys.stdout.flush()
|
||||
sys.stderr.write(s)
|
||||
#sys.stderr.write('%d %s' % (os.getpid(), s))
|
||||
sys.stderr.flush()
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue