svn commit: r186383 - head/sys/kern
Ed Schouten
ed at FreeBSD.org
Sun Dec 21 21:54:02 UTC 2008
Author: ed
Date: Sun Dec 21 21:54:01 2008
New Revision: 186383
URL: http://svn.freebsd.org/changeset/base/186383
Log:
Revert r185891.
In r185891 I removed the newlines from messages written to /dev/console,
because it made startup messages from rc-scripts harder to read. This,
unfortunately, causes the kernel message that is printed after a
non-terminated log message to be concatenated.
This could be fixed, but on short term it's better to just revert the
change.
Reported by: Jaakko Heinonen <jh saunalahti fi>
Modified:
head/sys/kern/subr_prf.c
Modified: head/sys/kern/subr_prf.c
==============================================================================
--- head/sys/kern/subr_prf.c Sun Dec 21 21:16:57 2008 (r186382)
+++ head/sys/kern/subr_prf.c Sun Dec 21 21:54:01 2008 (r186383)
@@ -257,7 +257,7 @@ log(int level, const char *fmt, ...)
void
log_console(struct uio *uio)
{
- int c, i, error;
+ int c, i, error, nl;
char *consbuffer;
int pri;
@@ -268,14 +268,22 @@ log_console(struct uio *uio)
uio = cloneuio(uio);
consbuffer = malloc(CONSCHUNK, M_TEMP, M_WAITOK);
+ nl = 0;
while (uio->uio_resid > 0) {
c = imin(uio->uio_resid, CONSCHUNK);
error = uiomove(consbuffer, c, uio);
if (error != 0)
break;
- for (i = 0; i < c; i++)
+ for (i = 0; i < c; i++) {
msglogchar(consbuffer[i], pri);
+ if (consbuffer[i] == '\n')
+ nl = 1;
+ else
+ nl = 0;
+ }
}
+ if (!nl)
+ msglogchar('\n', pri);
msgbuftrigger = 1;
free(uio, M_IOV);
free(consbuffer, M_TEMP);
More information about the svn-src-all
mailing list