Lines Matching refs:sig
48 static void sigsegv(int sig, siginfo_t *sip, ucontext_t *uap);
174 done(sig) in done() argument
202 if (sig) { in done()
209 if (sig == SIGHUP) in done()
213 sigaddset(&set, sig); in done()
215 handle(sig, SIG_DFL); in done()
216 kill(mypid, sig); in done()
222 fault(int sig) in fault() argument
226 switch (sig) { in fault()
233 if (trapcom[sig]) in fault()
236 done(sig); in fault()
241 trapflg[sig] |= flag; in fault()
245 handle(sig, func) in handle() argument
246 int sig; in handle()
252 if (func == SIG_IGN && (trapflg[sig] & SIGIGN))
261 if (sig > MINTRAP && sig < MAXTRAP) {
263 act.sa_flags = (sig == SIGSEGV) ? (SA_ONSTACK | SA_SIGINFO) : 0;
265 sigaction(sig, &act, &oact);
269 trapflg[sig] |= SIGIGN;
277 if (sig == 0) {
367 int sig; in systrap() local
375 for (sig = 0; sig < MAXTRAP; sig++) { in systrap()
376 if (trapcom[sig]) { in systrap()
377 prn_buff(sig); in systrap()
379 prs_buff(trapcom[sig]); in systrap()
390 noa1 = (str2sig(a1, &sig) == 0); in systrap()
394 if (str2sig(*argv, &sig) < 0 || in systrap()
395 sig >= MAXTRAP || sig < MINTRAP || in systrap()
396 sig == SIGSEGV) { in systrap()
404 clrsig(sig); in systrap()
411 if (trapflg[sig] & SIGMOD || sig == 0 || in systrap()
412 !ignoring(sig)) { in systrap()
413 handle(sig, fault); in systrap()
414 trapflg[sig] |= SIGMOD; in systrap()
415 replace(&trapcom[sig], a1); in systrap()
417 } else if (handle(sig, SIG_IGN)) { in systrap()
423 trapflg[sig] |= SIGMOD; in systrap()
424 replace(&trapcom[sig], a1); in systrap()
474 sigsegv(int sig, siginfo_t *sip, ucontext_t *uap) in sigsegv() argument
495 fault(sig); in sigsegv()