Lines Matching refs:Trap
1 /* $NetBSD: trap.c,v 1.14 2018/05/08 16:37:59 kamil Exp $ */
9 __RCSID("$NetBSD: trap.c,v 1.14 2018/05/08 16:37:59 kamil Exp $");
19 Trap sigtraps[SIGNALS+1] = {
92 Trap *
98 Trap *p;
126 * trap signal handler
132 Trap *p = &sigtraps[i];
135 trap = p->set = 1;
138 if ((p->flags & TF_FATAL) && !p->trap) {
166 Trap *p;
177 * occurred for which a trap has been set or for which the TF_DFL_INTR flag
184 Trap *p;
187 if (p->set && ((p->trap && p->trap[0])
189 && !p->trap)))
203 Trap *p;
211 /* XXX: this means the alarm will have no effect if a trap
217 trap = 0;
224 || ((p->flags & flag) && p->trap == (char *) 0)))
230 Trap *p;
233 char *trapstr = p->trap;
256 p->trap = (char *) 0;
260 * no problem with afree(p->trap) in settrap() while still in use.
269 p->trap = trapstr;
274 /* clear pending traps and reset user's trap handlers; used after fork(2) */
279 Trap *p;
281 trap = 0;
286 if ((p->flags & TF_USER_SET) && (p->trap && p->trap[0]))
296 Trap *p;
306 Trap *p;
311 if (p->trap)
312 afree(p->trap, APERM);
315 p->trap = str_save(s, APERM);
318 p->trap = NULL;
349 Trap *p = &sigtraps[SIGPIPE];
377 Trap *p;
431 Trap *p;