chiark / gitweb /
log: also set errno to the passed error code before processing format string in log_s...
[elogind.git] / src / core / path.c
index 93c51bb3bec5b0363003c7624e077f252bfd9b4a..d399238a412a3977f42f5765ac4e61ce87a2b995 100644 (file)
@@ -99,7 +99,8 @@ int path_spec_watch(PathSpec *s, sd_event_io_handler_t handler) {
                                 break;
                         }
 
-                        log_warning("Failed to add watch on %s: %m", s->path);
+                        log_warning("Failed to add watch on %s: %s", s->path,
+                                    errno == ENOSPC ? "too many watches" : strerror(-r));
                         r = -errno;
                         if (cut)
                                 *cut = tmp;
@@ -152,11 +153,7 @@ void path_spec_unwatch(PathSpec *s) {
         assert(s);
 
         s->event_source = sd_event_source_unref(s->event_source);
-
-        if (s->inotify_fd >= 0) {
-                close_nointr_nofail(s->inotify_fd);
-                s->inotify_fd = -1;
-        }
+        s->inotify_fd = safe_close(s->inotify_fd);
 }
 
 int path_spec_fd_event(PathSpec *s, uint32_t revents) {
@@ -323,7 +320,7 @@ static int path_verify(Path *p) {
                 return 0;
 
         if (!p->specs) {
-                log_error_unit(UNIT(p)->id,
+                log_unit_error(UNIT(p)->id,
                                "%s lacks path setting. Refusing.", UNIT(p)->id);
                 return -EINVAL;
         }
@@ -727,7 +724,7 @@ static void path_trigger_notify(Unit *u, Unit *other) {
 
         if (p->state == PATH_RUNNING &&
             UNIT_IS_INACTIVE_OR_FAILED(unit_active_state(other))) {
-                log_debug_unit(UNIT(p)->id,
+                log_unit_debug(UNIT(p)->id,
                                "%s got notified about unit deactivation.",
                                UNIT(p)->id);