Part of issue #1586 is that interrupting Subversion during DNS lookups
(gethostbyname) or when initiating a network connection (connect) is
difficult. This can manifest itself, for instance, if network
connectivity is lost in mid operation.
Since this can't be solved by adding more cancellation checks, I am
feeling out how acceptable other solutions would be. I have a few
possible alternatives that I have considered:
a) Do not install the interrupt handler for any networked read only
operation. We must have the interrupt handler for file:///
operations, or else BDB gets mad. Using this option, the OS will
just kill svn right at the interrupt point. We aren't modifying
the working copy or a local repository so nothing much should be
hurt. However, it may be difficult for the initial command line
part to tell what is a network operation and what isn't.
b) Temporarily disable the interrupt handler during possibly hanging
network operations. It could be tricky, because it's hard to tell
what could be allocated in pools that won't be cleaned up. This
also seems like a very naughty thing for a library to do.
c) Make subversion multi-threaded and push off all possibly hanging
network operations into other threads. Very complicated, but I'm
including it for completeness.
c) Do nothing... a user may need to use kill -9 in order to
interrupt svn if a network operation hangs.
Are there any other options and/or opinions? I'm leaning towards the
last option, but I want to see if there are any other ideas or
objections.
-Josh
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jul 2 14:43:20 2004