Date: Fri, 22 Feb 2008 11:22:24 +0100 From: Rink Springer <rink@freebsd.org> To: Jeremy Chadwick <koitsu@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: cool feature of dmesg.boot file Message-ID: <20080222102224.GA87406@rink.nu> In-Reply-To: <20080222100924.GA26637@eos.sc1.parodius.com> References: <20080222092506.GA25704@eos.sc1.parodius.com> <200802220952.m1M9qskE001105@lurza.secnetix.de> <20080222100924.GA26637@eos.sc1.parodius.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 22, 2008 at 02:09:24AM -0800, Jeremy Chadwick wrote: > Maybe I should look into writing a patch that does in fact clear the > buffer immediately before reboot, and tie it to a sysctl. I suggest just making a loader tunable to do this. I think the following should do it (untested): --- subr_prf.c 2007-03-08 07:44:34.000000000 +0100 +++ subr_prf.new.c 2008-02-22 11:21:53.000000000 +0100 @@ -913,14 +913,20 @@ msgbufinit(void *ptr, int size) { char *cp; + char *rv; static struct msgbuf *oldp = NULL; size -= sizeof(*msgbufp); cp = (char *)ptr; msgbufp = (struct msgbuf *)(cp + size); - msgbuf_reinit(msgbufp, cp, size); - if (msgbufmapped && oldp != msgbufp) - msgbuf_copy(oldp, msgbufp); + rv = getenv("kern.ignore_old_msgbuf"); + if (rv != NULL && strncmp(rv, "1", 1) != 0) { + msgbuf_clear(mbp); + } else { + msgbuf_reinit(msgbufp, cp, size); + if (msgbufmapped && oldp != msgbufp) + msgbuf_copy(oldp, msgbufp); + } msgbufmapped = 1; oldp = msgbufp; } Regards, -- Rink P.W. Springer - http://rink.nu "Anyway boys, this is America. Just because you get more votes doesn't mean you win." - Fox Mulder
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080222102224.GA87406>