Lines Matching defs:sig

242  * When called with sig==0, it does a blocking wait
244 int job_reap(register int sig)
261 if(sfprintf(sfstderr,"ksh: job line %4d: reap pid=%d critical=%d signal=%d\n",__LINE__,getpid(),job.in_critical,sig) <=0)
266 if(sig)
291 if(pid<0 && errno==EINTR && (sig||job.savesig))
388 if(sig==0)
444 if(sig)
445 signal(sig, job_waitsafe);
452 static void job_waitsafe(int sig)
456 job.savesig = sig;
460 job_reap(sig);
827 * send signal <sig> to background process group if not disowned
829 int job_terminate(register struct process *pw,register int sig)
832 job_kill(pw,sig);
951 int job_kill(register struct process *pw,register int sig)
957 int stopsig = (sig==SIGSTOP||sig==SIGTSTP||sig==SIGTTIN||sig==SIGTTOU);
969 r = job_walk(outfile, job_kill,sig, (char**)0);
971 if(sig==SIGSTOP && pid==sh.pid && sh.ppid==1)
981 if((r = kill(pid,sig))>=0 && !stopsig)
985 if(sig)
991 if((r = killpg(-pid,sig))>=0 && !stopsig)
994 if(sig)
1001 r = kill(pid,sig);
1003 r = killpg(-pid,sig);
1010 r = killpg(pid,sig);
1012 if(r>=0 && (sig==SIGHUP||sig==SIGTERM || sig==SIGCONT))
1018 while(pw && pw->p_pgrp==0 && (r=kill(pw->p_pid,sig))>=0)
1021 if(sig==SIGHUP || sig==SIGTERM)
1709 static char *job_sigmsg(int sig)
1719 if ( sig == SIGAPOLLO )
1722 if(sig<=sh.sigmax && sh.sigmsg[sig])
1723 return(sh.sigmsg[sig]);
1725 if(sig>=sh.sigruntime[SH_SIGRTMIN] && sig<=sh.sigruntime[SH_SIGRTMAX])
1728 if(sig>sh.sigruntime[SH_SIGRTMIN]+(sh.sigruntime[SH_SIGRTMAX]-sig<=sh.sigruntime[SH_SIGRTMIN])/2)
1729 sfsprintf(sigrt,sizeof(sigrt),"SIGRTMAX-%d",sh.sigruntime[SH_SIGRTMAX]-sig);
1731 sfsprintf(sigrt,sizeof(sigrt),"SIGRTMIN+%d",sig-sh.sigruntime[SH_SIGRTMIN]);
1735 sfsprintf(signo,sizeof(signo),sh_translate(e_signo),sig);