chiark / gitweb /
build-sys: minor fixes found with cppcheck
[elogind.git] / src / core / manager.c
index b9aa6dcfd56fa957485485603707b10c2d8fc776..c26dcaa9996dc97c777d900fee291b870effc21c 100644 (file)
@@ -482,7 +482,7 @@ static int manager_setup_notify(Manager *m) {
                 }
 
                 if (getpid() != 1 || detect_container(NULL) > 0)
-                        snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET "/%llu", random_ull());
+                        snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET "/%" PRIx64, random_u64());
                 else
                         strncpy(sa.un.sun_path, NOTIFY_SOCKET, sizeof(sa.un.sun_path));
                 sa.un.sun_path[0] = 0;
@@ -2208,8 +2208,10 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
                         if (safe_atoi(l + 10, &fd) < 0 || fd < 0 || !fdset_contains(fds, fd))
                                 log_debug("Failed to parse notify fd: %s", l + 10);
                         else {
-                                if (m->notify_fd >= 0)
+                                if (m->notify_fd >= 0) {
+                                        m->notify_event_source = sd_event_source_unref(m->notify_event_source);
                                         close_nointr_nofail(m->notify_fd);
+                                }
 
                                 m->notify_fd = fdset_remove(fds, fd);
                         }