Lines Matching defs:sig

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