You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
566 B
24 lines
566 B
6 years ago
|
diff --git a/jobs.c b/jobs.c
|
||
|
index 37edece..31395fe 100644
|
||
|
--- a/jobs.c
|
||
|
+++ b/jobs.c
|
||
|
@@ -2244,10 +2244,14 @@ wait_sigint_handler (sig)
|
||
|
signal_is_trapped (SIGINT) &&
|
||
|
((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
|
||
|
{
|
||
|
- interrupt_immediately = 0;
|
||
|
trap_handler (SIGINT); /* set pending_traps[SIGINT] */
|
||
|
wait_signal_received = SIGINT;
|
||
|
- longjmp (wait_intr_buf, 1);
|
||
|
+ if (interrupt_immediately)
|
||
|
+ {
|
||
|
+ interrupt_immediately = 0;
|
||
|
+ longjmp (wait_intr_buf, 1);
|
||
|
+ }
|
||
|
+ SIGRETURN (0);
|
||
|
}
|
||
|
|
||
|
ADDINTERRUPT;
|
||
|
--
|
||
|
2.5.5
|