- parintr = signal(SIGINT, SIG_IGN); /* parents interruptibility */
- sigset(SIGINT, parintr); /* ... restore */
- parterm = signal(SIGTERM, SIG_IGN); /* parents terminability */
- signal(SIGTERM, parterm); /* ... restore */
+ /* parents interruptibility */
+ (void) sigvec(SIGINT, (struct sigvec *)0, &osv);
+ parintr = osv.sv_handler;
+ /* parents terminability */
+ (void) sigvec(SIGTERM, (struct sigvec *)0, &osv);
+ parterm = osv.sv_handler;
+ if (loginsh) {
+ (void) signal(SIGHUP, phup); /* exit processing on HUP */
+ (void) signal(SIGXCPU, phup); /* ...and on XCPU */
+ (void) signal(SIGXFSZ, phup); /* ...and on XFSZ */
+ }