Module Name: src
Committed By: kre
Date: Wed Jul 5 19:47:11 UTC 2017
Modified Files:
src/bin/sh: trap.c
Log Message:
DEBUG and white space changes only. Convert TRACE() calls for DEBUg mode
to the new style. NFC (when not debugging sh).
To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/bin/sh/trap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/bin/sh/trap.c
diff -u src/bin/sh/trap.c:1.40 src/bin/sh/trap.c:1.41
--- src/bin/sh/trap.c:1.40 Sun May 7 15:01:18 2017
+++ src/bin/sh/trap.c Wed Jul 5 19:47:11 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.40 2017/05/07 15:01:18 kre Exp $ */
+/* $NetBSD: trap.c,v 1.41 2017/07/05 19:47:11 kre Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)trap.c 8.5 (Berkeley) 6/5/95";
#else
-__RCSID("$NetBSD: trap.c,v 1.40 2017/05/07 15:01:18 kre Exp $");
+__RCSID("$NetBSD: trap.c,v 1.41 2017/07/05 19:47:11 kre Exp $");
#endif
#endif /* not lint */
@@ -484,6 +484,9 @@ SHELLPROC {
void
onsig(int signo)
{
+ CTRACE(DBG_SIG, ("Signal %d, had: pending %d, gotsig[%d]=%d\n",
+ signo, pendingsigs, signo, gotsig[signo]));
+
signal(signo, onsig);
if (signo == SIGINT && trap[SIGINT] == NULL) {
onint();
@@ -518,6 +521,8 @@ dotrap(void)
}
gotsig[i] = 0;
savestatus=exitstatus;
+ CTRACE(DBG_TRAP|DBG_SIG, ("dotrap %d: \"%s\"\n", i,
+ trap[i] ? trap[i] : "-NULL-"));
tr = savestr(trap[i]); /* trap code may free trap[i] */
evalstring(tr, 0);
ckfree(tr);
@@ -566,7 +571,9 @@ exitshell(int status)
struct jmploc loc1, loc2;
char *p;
- TRACE(("pid %d, exitshell(%d)\n", getpid(), status));
+ CTRACE(DBG_ERRS|DBG_PROCS|DBG_CMDS|DBG_TRAP,
+ ("pid %d, exitshell(%d)\n", getpid(), status));
+
if (setjmp(loc1.loc)) {
goto l1;
}
@@ -576,13 +583,14 @@ exitshell(int status)
handler = &loc1;
if ((p = trap[0]) != NULL && *p != '\0') {
trap[0] = NULL;
+ VTRACE(DBG_TRAP, ("exit trap: \"%s\"\n", p));
evalstring(p, 0);
}
-l1: handler = &loc2; /* probably unnecessary */
+ l1: handler = &loc2; /* probably unnecessary */
flushall();
#if JOBS
setjobctl(0);
#endif
-l2: _exit(status);
+ l2: _exit(status);
/* NOTREACHED */
}