Home | History | Annotate | Download | only in src

Lines Matching refs:trap

2 /*	$OpenBSD: trap.c,v 1.23 2010/05/19 17:36:08 jasper Exp $	*/
32 Trap sigtraps[NSIG + 1];
1073 Trap *
1077 Trap *p;
1116 * trap signal handler
1121 Trap *p = &sigtraps[i];
1124 trap = p->set = 1;
1127 if ((p->flags & TF_FATAL) && !p->trap) {
1155 Trap *p;
1167 * occurred for which a trap has been set or for which the TF_DFL_INTR flag
1174 Trap *p;
1177 if (p->set && ((p->trap && p->trap[0]) ||
1178 ((p->flags & (TF_DFL_INTR|TF_FATAL)) && !p->trap)))
1191 Trap *p;
1199 * XXX: this means the alarm will have no effect if a trap
1204 trap = 0;
1212 ((p->flags & flag) && p->trap == NULL)))
1219 runtrap(Trap *p, bool is_last)
1228 trapstr = p->trap;
1251 p->trap = NULL;
1257 * no problem with afree(p->trap) in settrap() while still in use.
1265 p->trap = trapstr;
1270 /* we're the last trap of a sequence executed */
1277 /* clear pending traps and reset user's trap handlers; used after fork(2) */
1282 Trap *p;
1284 trap = 0;
1289 if ((p->flags & TF_USER_SET) && (p->trap && p->trap[0]))
1299 Trap *p;
1308 settrap(Trap *p, const char *s)
1312 if (p->trap)
1313 afree(p->trap, APERM);
1315 strdupx(p->trap, s, APERM);
1351 Trap *p = &sigtraps[SIGPIPE];
1378 setsig(Trap *p, sig_t f, int flags)
1436 setexecsig(Trap *p, int restore)