[Bug 1590] ^C is not supported in sftp
bugzilla-daemon at bugzilla.mindrot.org
bugzilla-daemon at bugzilla.mindrot.org
Wed Jan 13 21:37:45 EST 2010
https://bugzilla.mindrot.org/show_bug.cgi?id=1590
Darren Tucker <dtucker at zip.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #2 from Darren Tucker <dtucker at zip.com.au> 2010-01-13 21:37:44 EST ---
Actually, that's not the reason. The real reason is a bug in
readpassphrase, which is imported from OpenBSD.
getpassphrase saves the current signal handlers and sets up its own.
(It does this so that it can, eg, restore the terminal modes if it's
interrupted while in raw mode). In order to get the same behaviour
from the application that you would normally get from the signal,
readpassphrase stores the signal and when it restores the handlers, it
resends the signal to itself.
The catch is the storage is only a single variable, which means that
only the most recent signal is replayed. When you observed the
problem, the most recent signal was the SIGINT which, as described
above, is dutifully ignored. sftp also sends a SIGTERM to ssh, however
it was usually lost, and when that happened, ssh remained running while
sftp was waiting for it to shut down.
We've fixed OpenBSD and imported the fixes, so this should be fixed in
the next release (5.4p1). Thanks for the report.
--
Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
More information about the openssh-bugs
mailing list