Go to file
David 'Digit' Turner e2126652a3 Make "repo sync -j<count>" stop properly on Ctrl-C.
The threaded 'repo sync' implementation would very often freeze the
process when interrupted by the user with Ctrl-C. The only solution
being to kill -9 the process explicitly from another terminal.

The reason for this is best explained here:

http://snakesthatbite.blogspot.fr/2010/09/cpython-threading-interrupting.html

This patch makes all helper sync threads 'daemon', which allows the
process to terminate immediately on Ctrl-C.

Note that this will forcefully kill all threads in case of interruption; this
is generally a bad thing, but:

  1/ This is equivalent to calling kill -9 in another terminal, which
     is the _only_ thing that can currently stop the process.

  2/ There doesn't seem to be a way to tell the worker threads to
     gently stop when they are in a blocking operation anyway (even
     in the non-threaded case).

+ Do the same for "repo status -j<count>".

Change-Id: Ieaf45b0eacee36f35427f8edafd87415c2aa7be4
2012-09-05 11:38:41 -07:00
docs manifest-format.txt: Add documentation for GetManifest RPC method 2012-09-05 06:00:47 -07:00
hooks hooks/pre-auto-gc: look in sysfs to see if a battery is known. 2012-05-25 02:25:59 -07:00
subcmds Make "repo sync -j<count>" stop properly on Ctrl-C. 2012-09-05 11:38:41 -07:00
tests Fix error parsing a non-existant configuration file 2009-07-02 16:12:57 -07:00
.gitignore .gitignore: add an entry for repopickles 2009-06-28 15:08:56 -07:00
.project Add PyDev project files to repo 2009-06-02 00:09:07 +02:00
.pydevproject Add PyDev project files to repo 2009-06-02 00:09:07 +02:00
color.py Remove unused imports 2012-08-23 12:15:26 +02:00
command.py Treat groups= as default 2012-04-23 13:43:41 -07:00
COPYING Initial Contribution 2008-10-21 07:00:00 -07:00
editor.py Fix for handling values of EDITOR which contain a space. 2010-08-06 17:05:04 -07:00
error.py Add manifest groups 2012-04-13 09:46:00 -07:00
git_command.py Fix bug in version_tuple to handle strings with -rc# 2012-07-31 22:18:47 -07:00
git_config.py Permit - in URL schemes for special URLs 2012-03-14 15:28:22 -07:00
git_refs.py Remove unused imports 2012-08-23 12:15:26 +02:00
git_ssh Don't allow git fetch to start ControlMaster 2010-10-29 08:15:14 -07:00
main.py Remove unused imports 2012-08-23 12:15:26 +02:00
manifest_xml.py Remove unused imports 2012-08-23 12:15:26 +02:00
pager.py Don't start the pager if stdout is a pipe 2009-04-01 07:24:22 -07:00
progress.py Support units in progress messages 2011-09-19 14:52:57 -07:00
project.py Remove unused imports 2012-08-23 12:15:26 +02:00
repo Use gerrit.googlesource.com/git-repo as the default URL 2012-06-05 07:57:24 -07:00
SUBMITTING_PATCHES Patches should be submitted to master, not maint 2012-08-21 14:06:10 +02:00
trace.py Fix repo --trace to show ref and config loads 2009-04-18 09:54:51 -07:00