Lines Matching refs:sh
269 sh.st.otrapcom = 0; in sh_sigtrap()
272 else if(!((flag=sh.sigflag[sig])&(SH_SIGFAULT|SH_SIGOFF))) in sh_sigtrap()
287 sh.sigflag[sig] = flag; in sh_sigtrap()
296 register int flag, sig = sh.sigmax; in sh_sigdone()
297 sh.sigflag[0] |= SH_SIGFAULT; in sh_sigdone()
298 for(sig=sh.sigmax; sig>0; sig--) in sh_sigdone()
300 flag = sh.sigflag[sig]; in sh_sigdone()
314 register int flag, sig=sh.st.trapmax; in sh_sigreset()
317 if(trap=sh.st.trapcom[sig]) in sh_sigreset()
319 flag = sh.sigflag[sig]&~(SH_SIGTRAP|SH_SIGSET); in sh_sigreset()
324 sh.st.trapcom[sig] = 0; in sh_sigreset()
333 sh.sigflag[sig] = flag; in sh_sigreset()
338 if(trap=sh.st.trap[sig]) in sh_sigreset()
342 sh.st.trap[sig] = 0; in sh_sigreset()
346 sh.st.trapcom[0] = 0; in sh_sigreset()
348 sh.st.trapmax = 0; in sh_sigreset()
349 sh.trapnote=0; in sh_sigreset()
357 register int flag = sh.sigflag[sig]; in sh_sigclear()
359 sh.st.otrapcom=0; in sh_sigclear()
363 if(trap=sh.st.trapcom[sig]) in sh_sigclear()
365 if(!sh.subshell) in sh_sigclear()
367 sh.st.trapcom[sig]=0; in sh_sigclear()
369 sh.sigflag[sig] = flag; in sh_sigclear()
378 register int sig=sh.st.trapmax; in sh_chktrap()
380 if(!(sh.trapnote&~SH_SIGIGNORE)) in sh_chktrap()
382 sh.trapnote &= ~SH_SIGTRAP; in sh_chktrap()
384 if(sh_isstate(SH_ERREXIT) && sh.exitval) in sh_chktrap()
386 int sav_trapnote = sh.trapnote; in sh_chktrap()
387 sh.trapnote &= ~SH_SIGSET; in sh_chktrap()
388 if(sh.st.trap[SH_ERRTRAP]) in sh_chktrap()
390 trap = sh.st.trap[SH_ERRTRAP]; in sh_chktrap()
391 sh.st.trap[SH_ERRTRAP] = 0; in sh_chktrap()
393 sh.st.trap[SH_ERRTRAP] = trap; in sh_chktrap()
395 sh.trapnote = sav_trapnote; in sh_chktrap()
398 struct checkpt *pp = (struct checkpt*)sh.jmplist; in sh_chktrap()
400 sh_exit(sh.exitval); in sh_chktrap()
403 if(sh.sigflag[SIGALRM]&SH_SIGALRM) in sh_chktrap()
406 if((sh.sigflag[SIGCHLD]&SH_SIGTRAP) && sh.st.trapcom[SIGCHLD]) in sh_chktrap()
407 job_chldtrap(&sh,sh.st.trapcom[SIGCHLD],1); in sh_chktrap()
415 if(sh.sigflag[sig]&SH_SIGTRAP) in sh_chktrap()
417 sh.sigflag[sig] &= ~SH_SIGTRAP; in sh_chktrap()
418 if(trap=sh.st.trapcom[sig]) in sh_chktrap()
421 if(sig==SIGPIPE && (fp=sfpool((Sfio_t*)0,sh.outpool,SF_WRITE)) && sferror(fp)) in sh_chktrap()
423 sh.oldexit = SH_EXITSIG|sig; in sh_chktrap()
501 Shell_t *shp = &sh; in sh_exit()