Lines Matching refs:sig

107 sigsys(int sig, sigtype func)  in sigsys()  argument
111 old = sigdisp(sig); in sigsys()
112 signal(sig, func); in sigsys()
123 sigset(int sig, sigtype func) in sigset() argument
127 if (sig < 1 || sig > NSIG) { in sigset()
131 old = sigdisp(sig); in sigset()
136 sighold(sig); in sigset()
139 sigtable[sig].s_flag |= SSET; in sigset()
140 sigtable[sig].s_func = func; in sigset()
147 if ((sigtable[sig].s_flag & SHELD) == 0) in sigset()
148 signal(sig, SIG_DFL); in sigset()
150 signal(sig, _Sigtramp); in sigset()
157 signal(sig, SIG_IGN); in sigset()
158 sigtable[sig].s_flag &= ~SDEFER; in sigset()
161 signal(sig, _Sigtramp); in sigset()
171 sighold(int sig) in sighold() argument
175 if (sig < 1 || sig > NSIG) { in sighold()
179 old = sigdisp(sig); in sighold()
180 if (sigtable[sig].s_flag & SHELD) in sighold()
187 sigtable[sig].s_flag |= SSET; in sighold()
188 signal(sig, _Sigtramp); in sighold()
190 sigtable[sig].s_flag |= SHELD; in sighold()
199 sigrelse(int sig) in sigrelse() argument
203 if (sig < 1 || sig > NSIG) { in sigrelse()
207 old = sigdisp(sig); in sigrelse()
208 if ((sigtable[sig].s_flag & SHELD) == 0) in sigrelse()
210 sigtable[sig].s_flag &= ~SHELD; in sigrelse()
211 if (sigtable[sig].s_flag & SDEFER) in sigrelse()
212 _Sigtramp(sig); in sigrelse()
217 if (sigtable[sig].s_func == SIG_DFL) in sigrelse()
218 signal(sig, SIG_DFL); in sigrelse()
226 sigignore(int sig) in sigignore() argument
228 return(sigset(sig, SIG_IGN)); in sigignore()
239 sigpause(int sig) in sigpause() argument
241 if (sig < 1 || sig > NSIG) { in sigpause()
245 sigtable[sig].s_flag |= SHELD|SPAUSE; in sigpause()
248 sigtable[sig].s_flag &= ~SPAUSE; in sigpause()
249 sigtable[sig].s_flag |= SDEFER; in sigpause()
274 sigdisp(int sig) in sigdisp() argument
278 if (sig < 1 || sig > NSIG) { in sigdisp()
286 if ((sigtable[sig].s_flag & SSET) == 0) { in sigdisp()
287 old = signal(sig, SIG_IGN); in sigdisp()
288 sigtable[sig].s_func = old; in sigdisp()
289 sigtable[sig].s_flag |= SSET; in sigdisp()
290 signal(sig, old); in sigdisp()
298 return(sigtable[sig].s_func); in sigdisp()
306 _Sigtramp(int sig) in _Sigtramp() argument
310 if (sig < 1 || sig > NSIG) { in _Sigtramp()
316 old = signal(sig, SIG_IGN); in _Sigtramp()
320 if (sigtable[sig].s_flag & SPAUSE) in _Sigtramp()
327 if (sigtable[sig].s_flag & SHELD) { in _Sigtramp()
328 sigtable[sig].s_flag |= SDEFER; in _Sigtramp()
329 signal(sig, _Sigtramp); in _Sigtramp()
337 if (sigtable[sig].s_func == SIG_IGN) in _Sigtramp()
344 if (sigtable[sig].s_func == SIG_DFL) { in _Sigtramp()
345 signal(sig, SIG_DFL); in _Sigtramp()
346 kill(getpid(), sig); in _Sigtramp()
359 sigtable[sig].s_flag &= ~SDEFER; in _Sigtramp()
360 sigtable[sig].s_flag |= SHELD; in _Sigtramp()
361 signal(sig, _Sigtramp); in _Sigtramp()
362 (*sigtable[sig].s_func)(sig); in _Sigtramp()
367 sigtable[sig].s_flag &= ~SHELD; in _Sigtramp()
368 if (sigtable[sig].s_flag & SDEFER) in _Sigtramp()