chiark / gitweb /
libsystemd-bus: true/false instead of yes/no in msg dump
[elogind.git] / src / journal / journald-kmsg.c
index 5c7c06a14ae42d04fad71196b260d77be985bf80..0c8446a3d59b8ac0ec23c32ead48ab333bf9848b 100644 (file)
@@ -428,8 +428,13 @@ int server_open_dev_kmsg(Server *s) {
         return 0;
 
 fail:
-        close_nointr_nofail(s->dev_kmsg_fd);
-        s->dev_kmsg_fd = -1;
+        if (s->dev_kmsg_event_source)
+                s->dev_kmsg_event_source = sd_event_source_unref(s->dev_kmsg_event_source);
+
+        if (s->dev_kmsg_fd >= 0) {
+                close_nointr_nofail(s->dev_kmsg_fd);
+                s->dev_kmsg_fd = -1;
+        }
 
         return r;
 }