Date: Tue, 18 Mar 1997 10:30:02 -0800 (PST) From: nsayer@quack.kfu.com To: freebsd-bugs Subject: Re: kern/1711: kernel logging of signaled processes should be optional Message-ID: <199703181830.KAA16249@freefall.freebsd.org>
index | next in thread | raw e-mail
The following reply was made to PR kern/1711; it has been noted by GNATS.
From: nsayer@quack.kfu.com
To: freebsd-gnats-submit@freebsd.org
Cc: Subject: Re: kern/1711: kernel logging of signaled processes should be optional
Date: Tue, 18 Mar 1997 10:20:52 -0800 (PST)
Ok, then here is the sysctl version of the same fix. It is not yet
present in 2.2-RELEASE, and this patch does require some
fuzz to apply, but it does apply and work:
*** kern/kern_sig.c.orig Tue Jul 9 11:12:37 1996
--- kern/kern_sig.c Thu Oct 3 16:40:32 1996
***************
*** 61,66 ****
--- 61,67 ----
#include <sys/syslog.h>
#include <sys/stat.h>
#include <sys/sysent.h>
+ #include <sys/sysctl.h>
#include <machine/cpu.h>
***************
*** 1188,1193 ****
--- 1189,1196 ----
* If dumping core, save the signal number for the debugger. Calls exit and
* does not return.
*/
+ int kern_logsigexit=1;
+
void
sigexit(p, signum)
register struct proc *p;
***************
*** 1205,1219 ****
*/
if (coredump(p) == 0)
signum |= WCOREFLAG;
! log(LOG_INFO, "pid %d (%s), uid %d: exited on signal %d%s\n",
! p->p_pid, p->p_comm,
! p->p_cred && p->p_ucred ? p->p_ucred->cr_uid : -1,
! signum &~ WCOREFLAG,
! signum & WCOREFLAG ? " (core dumped)" : "");
}
exit1(p, W_EXITCODE(0, signum));
/* NOTREACHED */
}
/*
* Dump core, into a file named "progname.core", unless the process was
--- 1208,1225 ----
*/
if (coredump(p) == 0)
signum |= WCOREFLAG;
! if (kern_logsigexit)
! log(LOG_INFO, "pid %d (%s), uid %d: exited on signal %d%s\n",
! p->p_pid, p->p_comm,
! p->p_cred && p->p_ucred ? p->p_ucred->cr_uid : -1,
! signum &~ WCOREFLAG,
! signum & WCOREFLAG ? " (core dumped)" : "");
}
exit1(p, W_EXITCODE(0, signum));
/* NOTREACHED */
}
+
+ SYSCTL_INT(_kern, KERN_LOGSIGEXIT, logsigexit, CTLFLAG_RW, &kern_logsigexit, 0, "");
/*
* Dump core, into a file named "progname.core", unless the process was
*** sys/sysctl.h.orig Thu Jul 25 11:02:14 1996
--- sys/sysctl.h Thu Oct 3 16:20:40 1996
***************
*** 223,229 ****
#define KERN_MAXSOCKBUF 31 /* int: max size of a socket buffer */
#define KERN_PS_STRINGS 32 /* int: address of PS_STRINGS */
#define KERN_USRSTACK 33 /* int: address of USRSTACK */
! #define KERN_MAXID 34 /* number of valid kern ids */
#define CTL_KERN_NAMES { \
{ 0, 0 }, \
--- 223,230 ----
#define KERN_MAXSOCKBUF 31 /* int: max size of a socket buffer */
#define KERN_PS_STRINGS 32 /* int: address of PS_STRINGS */
#define KERN_USRSTACK 33 /* int: address of USRSTACK */
! #define KERN_LOGSIGEXIT 34 /* int: do we log sigexit procs? */
! #define KERN_MAXID 35 /* number of valid kern ids */
#define CTL_KERN_NAMES { \
{ 0, 0 }, \
***************
*** 260,265 ****
--- 261,267 ----
{ "maxsockbuf", CTLTYPE_INT }, \
{ "ps_strings", CTLTYPE_INT }, \
{ "usrstack", CTLTYPE_INT }, \
+ { "logsigexit", CTLTYPE_INT }, \
}
/*
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703181830.KAA16249>
