summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_prf.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-07-22 10:24:41 +0000
committerphk <phk@FreeBSD.org>2003-07-22 10:24:41 +0000
commitc4a9334fa698660a5dd1a0c4fddb61ed0893fc58 (patch)
tree822136a990d18001b2db563f705887b258e810ce /sys/kern/subr_prf.c
parentb5408a3e8f054d75ddbda2e0f17add2667916d6d (diff)
downloadFreeBSD-src-c4a9334fa698660a5dd1a0c4fddb61ed0893fc58.zip
FreeBSD-src-c4a9334fa698660a5dd1a0c4fddb61ed0893fc58.tar.gz
Don't attempt to inline large functions mb_alloc() and mb_free(),
it more than doubles the text size of this file. GCC has wisely ignored us on this previously
Diffstat (limited to 'sys/kern/subr_prf.c')
-rw-r--r--sys/kern/subr_prf.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
index d851e60..fa86217 100644
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -237,6 +237,25 @@ log(int level, const char *fmt, ...)
msgbuftrigger = 1;
}
+int
+vlog(const char *fmt, va_list ap)
+{
+ int savintr;
+ struct putchar_arg pca;
+ int retval;
+
+ savintr = consintr; /* disable interrupts */
+ consintr = 0;
+ pca.tty = NULL;
+ pca.flags = log_open ? TOLOG : TOCONS;
+ pca.pri = -1;
+ retval = kvprintf(fmt, putchar, &pca, 10, ap);
+ if (!panicstr)
+ msgbuftrigger = 1;
+ consintr = savintr; /* reenable interrupts */
+ return (retval);
+}
+
#define CONSCHUNK 128
void
@@ -323,6 +342,7 @@ vprintf(const char *fmt, va_list ap)
return (retval);
}
+
/*
* Print a character on console or users terminal. If destination is
* the console then the last bunch of characters are saved in msgbuf for
OpenPOWER on IntegriCloud