goto fail;
}
- r = sd_event_add_io(s->unit->manager->event, s->inotify_fd, EPOLLIN, handler, s, &s->event_source);
+ r = sd_event_add_io(s->unit->manager->event, &s->event_source, s->inotify_fd, EPOLLIN, handler, s);
if (r < 0)
goto fail;
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;
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) {
r = mkdir_p_label(s->path, mode);
if (r < 0)
- log_warning("mkdir(%s) failed: %s", s->path, strerror(-r));
+ log_warning_errno(r, "mkdir(%s) failed: %m", s->path);
}
static void path_spec_dump(PathSpec *s, FILE *f, const char *prefix) {
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;
}
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);
static const char* const path_type_table[_PATH_TYPE_MAX] = {
[PATH_EXISTS] = "PathExists",
[PATH_EXISTS_GLOB] = "PathExistsGlob",
+ [PATH_DIRECTORY_NOT_EMPTY] = "DirectoryNotEmpty",
[PATH_CHANGED] = "PathChanged",
[PATH_MODIFIED] = "PathModified",
- [PATH_DIRECTORY_NOT_EMPTY] = "DirectoryNotEmpty"
};
DEFINE_STRING_TABLE_LOOKUP(path_type, PathType);
static const char* const path_result_table[_PATH_RESULT_MAX] = {
[PATH_SUCCESS] = "success",
- [PATH_FAILURE_RESOURCES] = "resources"
+ [PATH_FAILURE_RESOURCES] = "resources",
};
DEFINE_STRING_TABLE_LOOKUP(path_result, PathResult);