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];
1078 Trap *
1082 Trap *p;
1121 * trap signal handler
1126 Trap *p = &sigtraps[i];
1129 trap = p->set = 1;
1132 if ((p->flags & TF_FATAL) && !p->trap) {
1160 Trap *p;
1172 * occurred for which a trap has been set or for which the TF_DFL_INTR flag
1179 Trap *p;
1182 if (p->set && ((p->trap && p->trap[0]) ||
1183 ((p->flags & (TF_DFL_INTR|TF_FATAL)) && !p->trap)))
1196 Trap *p;
1204 * XXX: this means the alarm will have no effect if a trap
1209 trap = 0;
1217 ((p->flags & flag) && p->trap == NULL)))
1224 runtrap(Trap *p, bool is_last)
1233 trapstr = p->trap;
1256 p->trap = NULL;
1262 * no problem with afree(p->trap) in settrap() while still in use.
1270 p->trap = trapstr;
1275 /* we're the last trap of a sequence executed */
1282 /* clear pending traps and reset user's trap handlers; used after fork(2) */
1287 Trap *p;
1289 trap = 0;
1294 if ((p->flags & TF_USER_SET) && (p->trap && p->trap[0]))
1304 Trap *p;
1313 settrap(Trap *p, const char *s)
1317 if (p->trap)
1318 afree(p->trap, APERM);
1320 strdupx(p->trap, s, APERM);
1356 Trap *p = &sigtraps[SIGPIPE];
1383 setsig(Trap *p, sig_t f, int flags)
1441 setexecsig(Trap *p, int restore)