comparison rogue3/mdport.c @ 162:600873555ec0

Don't swap signal handlers in md_shellescape(). md_shellescape() sets SIGINT and SIGQUIT to be ignored, storing the previous handlers, and restores them after the shell exits. But it mixed up the two handlers. Since the signals were usually handled by the same function, this fix doesn't have much effect, but anything that makes signal code less confusing is a good thing.
author John "Elwin" Edwards
date Mon, 08 Jun 2015 10:01:25 -0400
parents ba9930a7f99d
children 12e070d1a780
comparison
equal deleted inserted replaced
161:78ca6502d2a6 162:600873555ec0
594 myquit = signal(SIGQUIT, SIG_IGN); 594 myquit = signal(SIGQUIT, SIG_IGN);
595 #endif 595 #endif
596 while (wait(&ret_status) != pid) 596 while (wait(&ret_status) != pid)
597 continue; 597 continue;
598 598
599 signal(SIGINT, myquit); 599 signal(SIGINT, myend);
600 #ifdef SIGQUIT 600 #ifdef SIGQUIT
601 signal(SIGQUIT, myend); 601 signal(SIGQUIT, myquit);
602 #endif 602 #endif
603 } 603 }
604 return(ret_status); 604 return(ret_status);
605 #elif defined(HAVE__SPAWNL) 605 #elif defined(HAVE__SPAWNL)
606 return((int)_spawnl(_P_WAIT,md_getshell(),"shell",NULL,0)); 606 return((int)_spawnl(_P_WAIT,md_getshell(),"shell",NULL,0));