Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/kern Format paranoia.
details: https://anonhg.NetBSD.org/src/rev/f842637ca314
branches: trunk
changeset: 494582:f842637ca314
user: sommerfeld <sommerfeld%NetBSD.org@localhost>
date: Sat Jul 08 18:10:25 2000 +0000
description:
Format paranoia.
diffstat:
sys/kern/kern_sig.c | 32 ++++++++++++++++++--------------
1 files changed, 18 insertions(+), 14 deletions(-)
diffs (62 lines):
diff -r ca3253b36299 -r f842637ca314 sys/kern/kern_sig.c
--- a/sys/kern/kern_sig.c Sat Jul 08 17:45:53 2000 +0000
+++ b/sys/kern/kern_sig.c Sat Jul 08 18:10:25 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_sig.c,v 1.101 2000/06/27 17:41:25 mrg Exp $ */
+/* $NetBSD: kern_sig.c,v 1.102 2000/07/08 18:10:25 sommerfeld Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1991, 1993
@@ -1248,9 +1248,9 @@
int kern_logsigexit = 0; /* not static to make public for sysctl */
#endif
-static char *logcoredump =
+static const char logcoredump[] =
"pid %d (%s), uid %d: exited on signal %d (core dumped)\n";
-static char *lognocoredump =
+static const char lognocoredump[] =
"pid %d (%s), uid %d: exited on signal %d (core not dumped, err = %d)\n";
void
@@ -1259,25 +1259,29 @@
int signum;
{
int error;
- char *errmsg;
+ int exitsig = signum;
p->p_acflag |= AXSIG;
if (sigprop[signum] & SA_CORE) {
p->p_sigacts->ps_sig = signum;
- if ((error = coredump(p)) == 0) {
- signum |= WCOREFLAG;
- errmsg = logcoredump;
- } else {
- errmsg = lognocoredump;
+ if ((error = coredump(p)) == 0)
+ exitsig |= WCOREFLAG;
+
+ if (kern_logsigexit) {
+ int uid = p->p_cred && p->p_ucred ?
+ p->p_ucred->cr_uid : -1;
+
+ if (error)
+ log(LOG_INFO, lognocoredump, p->p_pid,
+ p->p_comm, uid, signum, error);
+ else
+ log(LOG_INFO, logcoredump, p->p_pid,
+ p->p_comm, uid, signum);
}
- if (kern_logsigexit)
- log(LOG_INFO, errmsg, p->p_pid, p->p_comm,
- p->p_cred && p->p_ucred ? p->p_ucred->cr_uid : -1,
- signum &~ WCOREFLAG, error);
}
- exit1(p, W_EXITCODE(0, signum));
+ exit1(p, W_EXITCODE(0, exitsig));
/* NOTREACHED */
}
Home |
Main Index |
Thread Index |
Old Index