Don't use SIG_register to register a SIG_IGN handler. It thinks it registers
a fucntion, but then it ends up calling (*1)(13) with all signals blocked so cvs spins (with all signal blocked, getting SEGV). Use plain signal instead To reproduce: cvs log file | less and quit.
This commit is contained in:
parent
982091c4c2
commit
45dd466bd9
|
@ -30,7 +30,7 @@ signals_register (RETSIGTYPE (*handler)(int))
|
|||
(void) SIG_register (SIGQUIT, handler);
|
||||
#endif
|
||||
#ifdef SIGPIPE
|
||||
(void) SIG_register (SIGPIPE, SIG_IGN);
|
||||
(void) signal (SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
#ifdef SIGTERM
|
||||
(void) SIG_register (SIGTERM, handler);
|
||||
|
|
Loading…
Reference in New Issue