svashisht / rpms / bash

Forked from rpms/bash 4 years ago
Clone

Blame SOURCES/bash-4.3-trapped-signals.patch

ff19ae
diff --git a/jobs.c b/jobs.c
ff19ae
index 37edece..31395fe 100644
ff19ae
--- a/jobs.c
ff19ae
+++ b/jobs.c
ff19ae
@@ -2244,10 +2244,14 @@ wait_sigint_handler (sig)
ff19ae
 	  signal_is_trapped (SIGINT) &&
ff19ae
 	  ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
ff19ae
 	{
ff19ae
-	  interrupt_immediately = 0;
ff19ae
 	  trap_handler (SIGINT);	/* set pending_traps[SIGINT] */
ff19ae
 	  wait_signal_received = SIGINT;
ff19ae
-	  longjmp (wait_intr_buf, 1);
ff19ae
+	  if (interrupt_immediately)
ff19ae
+	    {
ff19ae
+	      interrupt_immediately = 0;
ff19ae
+	      longjmp (wait_intr_buf, 1);
ff19ae
+	    }
ff19ae
+	  SIGRETURN (0);
ff19ae
 	}
ff19ae
       
ff19ae
       ADDINTERRUPT;
ff19ae
-- 
ff19ae
2.5.5
ff19ae