Lines Matching refs:sig
47 register int sig, clear = 0, dflag = 0, pflag = 0; in b_trap() local
50 while (sig = optget(argv, sh_opttrap)) switch (sig) in b_trap()
96 sig = sig_number(arg); in b_trap()
97 if(sig<0) in b_trap()
103 if(sig&SH_TRAP) in b_trap()
105 sig &= ~SH_TRAP; in b_trap()
106 if(sig>SH_DEBUGTRAP) in b_trap()
113 if(arg=shp->st.trap[sig]) in b_trap()
117 if(shp->st.trap[sig]) in b_trap()
118 free(shp->st.trap[sig]); in b_trap()
119 shp->st.trap[sig] = 0; in b_trap()
121 shp->st.trap[sig] = strdup(action); in b_trap()
122 if(sig == SH_DEBUGTRAP) in b_trap()
124 if(shp->st.trap[sig]) in b_trap()
131 if(sig>shp->sigmax) in b_trap()
139 if(arg=trapcom[sig]) in b_trap()
144 sh_sigclear(sig); in b_trap()
146 signal(sig,SIG_DFL); in b_trap()
150 if(sig >= shp->st.trapmax) in b_trap()
151 shp->st.trapmax = sig+1; in b_trap()
152 arg = shp->st.trapcom[sig]; in b_trap()
153 sh_sigtrap(sig); in b_trap()
154 shp->st.trapcom[sig] = (shp->sigflag[sig]&SH_SIGOFF) ? Empty : strdup(action); in b_trap()
168 register int sig=SIGTERM, flag=0, n; in b_kill() local
174 if((signame=argv[opt_info.index++]) && (sig=sig_number(signame+1))>=0) in b_kill()
180 sig = (int)opt_info.num; in b_kill()
211 if((sig=sig_number(signame))<0) in b_kill()
216 sfprintf(sfstdout,"%d\n",sig); in b_kill()
223 if((sig=sig_number(signame)) < 0 || sig > shp->sigmax) in b_kill()
226 if(job_walk(sfstdout,job_kill,sig,argv)) in b_kill()
238 register int n,o,sig=0; in sig_number() local
261 sig = 1; in sig_number()
272 if(sig==1 && (n>=(SH_TRAP-1) && n < (1<<SH_SIGBITS))) in sig_number()
292 if((sig=(int)strtol(name+4,&name,10)) >= 0 && !*name) in sig_number()
293 n = sh.sigruntime[SH_SIGRTMIN] + sig; in sig_number()
297 if((sig=(int)strtol(name+4,&name,10)) >= 0 && !*name) in sig_number()
298 n = sh.sigruntime[SH_SIGRTMAX] - sig; in sig_number()
300 else if((sig=(int)strtol(name,&name,10)) > 0 && !*name) in sig_number()
301 n = sh.sigruntime[SH_SIGRTMIN] + sig - 1; in sig_number()
313 static char* sig_name(int sig, char* buf, int pfx) in sig_name() argument
318 if(sig>sh.sigruntime[SH_SIGRTMIN] && sig<sh.sigruntime[SH_SIGRTMAX]) in sig_name()
323 if(sig>sh.sigruntime[SH_SIGRTMIN]+(sh.sigruntime[SH_SIGRTMAX]-sh.sigruntime[SH_SIGRTMIN])/2) in sig_name()
328 sig = sh.sigruntime[SH_SIGRTMAX]-sig; in sig_name()
335 sig = sig-sh.sigruntime[SH_SIGRTMIN]; in sig_name()
344 i += sfsprintf(buf+i, 8, "%d", sig); in sig_name()
357 register int sig; in sig_list() local
366 for(sig=shp->sigmax; sig>=0; sig--) in sig_list()
367 names[sig] = 0; in sig_list()
368 for(sig=SH_DEBUGTRAP; sig>=0; sig--) in sig_list()
369 traps[sig] = 0; in sig_list()
373 sig = tp->sh_number&((1<<SH_SIGBITS)-1); in sig_list()
374 if (((tp->sh_number>>SH_SIGBITS) & SH_SIGRUNTIME) && (sig = sh.sigruntime[sig-1]+1) == 1) in sig_list()
376 if(sig==flag) in sig_list()
381 else if(sig&SH_TRAP) in sig_list()
382 traps[sig&~SH_TRAP] = (char*)tp->sh_name; in sig_list()
383 else if(sig-- && sig < elementsof(names)) in sig_list()
384 names[sig] = (char*)tp->sh_name; in sig_list()
392 sig = shp->st.trapmax; in sig_list()
395 while(--sig >= 0) in sig_list()
397 if(!(trap=trapcom[sig])) in sig_list()
399 if(sig > shp->sigmax || !(sname=(char*)names[sig])) in sig_list()
400 sname = sig_name(sig,name,1); in sig_list()
403 for(sig=SH_DEBUGTRAP; sig>=0; sig--) in sig_list()
405 if(!(trap=shp->st.trap[sig])) in sig_list()
407 sfprintf(sfstdout,trapfmt,sh_fmtq(trap),traps[sig]); in sig_list()
413 for(sig=1; sig <= shp->sigmax; sig++) in sig_list()
415 if(!(sname=(char*)names[sig])) in sig_list()
416 sname = sig_name(sig,name,1); in sig_list()