DescriptionKill subprocesses on KeyboardInterrupt.
SVN traps SIGINT and attempts to clean itself up, but this results in hangs
waiting for TCP. This patch does two things: daemonizes worker threads so they
are culled when the main thread dies (is ctrl-C'd) and keeps track of spawned
subprocesses to kill any remaining ones when the main program is ctrl-C'd.
A user ctrl-C'ing gclient has to manually terminate hung SVN processes, so this
introduces no extra data loss or hazard. stracing a hung SVN process shows that
it is indeed hanging on TCP reads after receiving a SIGINT, implying there is an
underlying but in the SVN binary.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=198205
Patch Set 1 #
Total comments: 3
Patch Set 2 : Address comments, handle process aliveness better. #Patch Set 3 : Spacing. #
Total comments: 4
Patch Set 4 : Don't kill with lock, address more comments. #Patch Set 5 : Don't pop from a list as it's being iterated. #
Total comments: 6
Patch Set 6 : Fix nit. #
Messages
Total messages: 12 (0 generated)
|