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.
23 lines
566 B
23 lines
566 B
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
|
|
|