comparison rogue5/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 3d4252fa2ed3
comparison
equal deleted inserted replaced
161:78ca6502d2a6 162:600873555ec0
596 myquit = signal(SIGQUIT, SIG_IGN); 596 myquit = signal(SIGQUIT, SIG_IGN);
597 #endif 597 #endif
598 while (wait(&ret_status) != pid) 598 while (wait(&ret_status) != pid)
599 continue; 599 continue;
600 600
601 signal(SIGINT, myquit); 601 signal(SIGINT, myend);
602 #ifdef SIGQUIT 602 #ifdef SIGQUIT
603 signal(SIGQUIT, myend); 603 signal(SIGQUIT, myquit);
604 #endif 604 #endif
605 } 605 }
606 return(ret_status); 606 return(ret_status);
607 #elif defined(HAVE__SPAWNL) 607 #elif defined(HAVE__SPAWNL)
608 return((int)_spawnl(_P_WAIT,md_getshell(),"shell",NULL,0)); 608 return((int)_spawnl(_P_WAIT,md_getshell(),"shell",NULL,0));