On Jan 7, 2004, at 5:01 AM, Mike Mason wrote:
> Garrett Rooney wrote:
>
>> For the 'svn' process we do catch the signal, it's how the
>> cancellation stuff works. Repeated signals may not be caught (I
>> don't think we reset the signal handler after it fires, and IIRC some
>> systems require that), and in those cases (hiting control-c multiple
>> times) you can still kill the process, but if you hit control-c once
>> it should let you exit cleanly. If it doesn't that is a bug.
>
>
> I've seen exactly this on the Windows svn client -- Control-C doesn't
> return immediately (locks are being released or something) and if you
> hit it again the process stops immediately and requires "svn cleanup".
Interesting. Does this patch fix the problem?
Index: subversion/clients/cmdline/main.c
===================================================================
--- subversion/clients/cmdline/main.c (revision 8181)
+++ subversion/clients/cmdline/main.c (working copy)
@@ -612,9 +612,13 @@
/* A signal handler to support cancellation. */
static void
-sig_int (int unused)
+sig_int (int sig)
{
cancelled = TRUE;
+
+ /* reset the signal handler because some operating systems reset it
when
+ * it fires. */
+ apr_signal (sig, sig_int);
}
/* Our cancellation callback. */
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jan 7 14:33:31 2004