• xusydoc@chromium.org's avatar
    Kill subprocesses on KeyboardInterrupt. · 2fd6c3fc
    xusydoc@chromium.org authored
    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.
    
    Review URL: https://chromiumcodereview.appspot.com/14759006
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198205 0039d316-1c4b-4281-b951-d872f2087c98
    2fd6c3fc
Name
Last commit
Last update
bootstrap Loading commit data...
git-templates Loading commit data...
git_utils Loading commit data...
recipes Loading commit data...
support Loading commit data...
testing_support Loading commit data...
tests Loading commit data...
third_party Loading commit data...
zsh-goodies Loading commit data...
.gitignore Loading commit data...
LICENSE Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README Loading commit data...
README.codereview Loading commit data...
README.gclient Loading commit data...
README.git-cl Loading commit data...
README.testing Loading commit data...
WATCHLISTS Loading commit data...
apply_issue Loading commit data...
apply_issue.bat Loading commit data...
apply_issue.py Loading commit data...
breakpad.py Loading commit data...
cbuildbot Loading commit data...
checkout.py Loading commit data...
chrome-update-create-task.bat Loading commit data...
chrome-update.bat Loading commit data...
chrome-update.py Loading commit data...
chrome_set_ver Loading commit data...
codereview.settings Loading commit data...
commit_queue.py Loading commit data...
cpplint.bat Loading commit data...
cpplint.py Loading commit data...
cpplint_chromium.py Loading commit data...
create-chromium-git-src Loading commit data...
create-ntfs-junction.c Loading commit data...
create-ntfs-junction.exe Loading commit data...
cros Loading commit data...
cros_sdk Loading commit data...
crup-runner.sh Loading commit data...
download_from_google_storage.py Loading commit data...
drover Loading commit data...
drover.bat Loading commit data...
drover.py Loading commit data...
fetch Loading commit data...
fetch.bat Loading commit data...
fetch.py Loading commit data...
fix_encoding.py Loading commit data...
gcl Loading commit data...
gcl.bat Loading commit data...
gcl.py Loading commit data...
gclient Loading commit data...
gclient.bat Loading commit data...
gclient.py Loading commit data...
gclient_scm.py Loading commit data...
gclient_utils.py Loading commit data...
git-cl Loading commit data...
git-cl-upload-hook Loading commit data...
git-crsync Loading commit data...
git-crup Loading commit data...
git-gs Loading commit data...
git-lkgr Loading commit data...
git-runhooks Loading commit data...
git-try Loading commit data...
git-wktry Loading commit data...
git_cl.py Loading commit data...
git_try.py Loading commit data...
git_wktry.py Loading commit data...
hammer Loading commit data...
hammer.bat Loading commit data...
my_activity.py Loading commit data...
my_reviews.py Loading commit data...
ninja Loading commit data...
ninja-linux32 Loading commit data...
ninja-linux64 Loading commit data...
ninja-mac Loading commit data...
ninja.exe Loading commit data...
owners.py Loading commit data...
patch.py Loading commit data...
presubmit_canned_checks.py Loading commit data...
presubmit_support.py Loading commit data...
profile.xml Loading commit data...
pylint Loading commit data...
pylint.py Loading commit data...
pylintrc Loading commit data...
repo Loading commit data...
rietveld.py Loading commit data...
scm.py Loading commit data...
subprocess2.py Loading commit data...
trychange.py Loading commit data...
update_depot_tools Loading commit data...
update_depot_tools.bat Loading commit data...
upload_to_google_storage.py Loading commit data...
watchlists.py Loading commit data...
weekly Loading commit data...
wtf Loading commit data...