Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 774814d1 authored by Ken Sumrall's avatar Ken Sumrall Committed by Android (Google) Code Review
Browse files

Merge "klog: Have klog_write() call klog_init() if needed" into jb-mr2-dev

parents 24bc41b7 7425fd1b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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)
+4 −1
Original line number Diff line number Diff line
@@ -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);