am 3b051178: am 774814d1: Merge "klog: Have klog_write() call klog_init() if needed" into jb-mr2-dev
* commit '3b0511788c86968860a682b6652c26c4415fa222': klog: Have klog_write() call klog_init() if needed
This commit is contained in:
commit
cb1300a255
|
@ -17,12 +17,18 @@
|
|||
#ifndef _CUTILS_KLOG_H_
|
||||
#define _CUTILS_KLOG_H_
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
void klog_init(void);
|
||||
void klog_set_level(int level);
|
||||
void klog_close(void);
|
||||
void klog_write(int level, const char *fmt, ...)
|
||||
__attribute__ ((format(printf, 2, 3)));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#define KLOG_ERROR(tag,x...) klog_write(3, "<3>" tag ": " x)
|
||||
#define KLOG_WARNING(tag,x...) klog_write(4, "<4>" tag ": " x)
|
||||
#define KLOG_NOTICE(tag,x...) klog_write(5, "<5>" tag ": " x)
|
||||
|
|
|
@ -35,6 +35,9 @@ void klog_set_level(int level) {
|
|||
void klog_init(void)
|
||||
{
|
||||
static const char *name = "/dev/__kmsg__";
|
||||
|
||||
if (klog_fd >= 0) return; /* Already initialized */
|
||||
|
||||
if (mknod(name, S_IFCHR | 0600, (1 << 8) | 11) == 0) {
|
||||
klog_fd = open(name, O_WRONLY);
|
||||
fcntl(klog_fd, F_SETFD, FD_CLOEXEC);
|
||||
|
@ -50,7 +53,7 @@ void klog_write(int level, const char *fmt, ...)
|
|||
va_list ap;
|
||||
|
||||
if (level > klog_level) return;
|
||||
if (klog_fd < 0) return;
|
||||
if (klog_fd < 0) klog_init();
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(buf, LOG_BUF_MAX, fmt, ap);
|
||||
|
|
Loading…
Reference in New Issue