Bug 177366
Summary: | tcsh scripts do not allow programs to run sigint handlers with Ctrl-C | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Davyd <davyd> | ||||||||||
Component: | tcsh | Assignee: | Miloslav Trmač <mitr> | ||||||||||
Status: | CLOSED ERRATA | QA Contact: | Bill Huang <bhuang> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | medium | ||||||||||||
Version: | rawhide | ||||||||||||
Target Milestone: | --- | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | All | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | 6.14-6.fc5.1 | Doc Type: | Bug Fix | ||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | |||||||||||||
: | 884937 (view as bug list) | Environment: | |||||||||||
Last Closed: | 2006-03-20 19:33:37 UTC | Type: | --- | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Bug Depends On: | |||||||||||||
Bug Blocks: | 884937, 1330850 | ||||||||||||
Attachments: |
|
Description
Davyd
2006-01-10 03:14:33 UTC
Created attachment 122981 [details]
testrl.c
Created attachment 122982 [details]
testrl.csh
Run (from csh or bash) with ./testrl.csh
Created attachment 122984 [details]
trimmed strace.log from 6.14
`strace -f -o /tmp/strace-tcsh-6.14.log ./testrl.csh`
It is worth noting that the signal handler behaves correctly inside strace.
The sleep() is on line 212.
Created attachment 122985 [details]
trimmer strace.log from 6.12
strace -f -o /tmp/strace-tcsh-6.12.log /share/temp/tcsh testrl.csh
The sleep() is on line 181.
Notice here that "killed by SIGINT" is on line 261 (ie. the end) rather than,
215 (which is before the interrupt handler in the testrl binary).
It is worth noting here that everything behaves normally if you send SIGINT to testrl, ie. `killall -INT testrl`. (I had some trouble identifying the failure, so for future reference:) tcsh does not block SIGINT while waiting on children and can thus be killed before the child process. The example program SIGSEGV's on Ctrl+D in readline, but that is irrelevant. Please test tcsh-6.14-1.fc4.1 in Fedora Core testing updates repository. tcsh-6.14-6.fc5.1 has been pushed for FC5, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report. Thanks for your report. |