pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/26351: When tnftp on Linux is interrupted, Linux shell doesn't catch signal.
>Number: 26351
>Category: pkg
>Synopsis: When tnftp on Linux is interrupted, Linux shell doesn't catch
>signal.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jul 17 08:34:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Ognyan Kulev
>Release: Debian GNU/Linux testing
>Organization:
Faculty of Mathematics and Informatics, University of Sofia
>Environment:
Linux batman 2.4.18-bf2.4 #1 Son Apr 14 09:53:28 CEST 2002 i686 GNU/Linux
>Description:
Latest pkgsrc is installed. Let's run this example in Linux shell (bash) and
interrupt it:
while :; do date; sleep 1; done
Hitting Ctrl-C interrupts it.
Let's run this (uses tnftp):
while :; do rm welcome.msg; ftp ftp://ftp.uni-sofia.bg/welcome.msg; done
This time Ctrl-C doesn't help.
This behavious affects bmake fetch and is very inconvenient.
I've looked at the code and it seems that tnftp turns SIGINT into normal exit
code (1). I've run strace and shell receives SIGINT, but looking at exit code
of exited child it just continues.
>How-To-Repeat:
On Linux shell, type this:
while :; do rm welcome.msg; ftp ftp://ftp.uni-sofia.bg/welcome.msg; done
Type Ctrl-C and the loop won't stop.
(If you press and hold Ctrl-C, you have a chance to catch a moment when ftp is
not running and the loop will interrupt.)
>Fix:
In Single Unix Specification, exit codes greater that 128 shall be used when
process is terminated by signal: see last paragraph in
http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_08_02
>Release-Note:
>Audit-Trail:
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index