On Sun, Nov 02, 2014 at 02:04:20PM +0000, Colin Guthrie wrote: > This mirrors code in dbus.c when creating the private socket and > avoids error messages like: > > systemd[1353]: bind(/run/user/603/systemd/notify) failed: No such file or > directory > systemd[1353]: Failed to fully start up daemon: No such file or directory
Seems reasonable. But why not move the mkdir_parent_label() to the shared code path? Even if the dir is created elsewhere, it seems cleaner to ensure here that it is available. Zbyszek > --- > src/core/manager.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/src/core/manager.c b/src/core/manager.c > index ed7fdc7..2c77757 100644 > --- a/src/core/manager.c > +++ b/src/core/manager.c > @@ -662,9 +662,11 @@ static int manager_setup_notify(Manager *m) { > return -errno; > } > > - if (m->running_as == SYSTEMD_SYSTEM) > + if (m->running_as == SYSTEMD_SYSTEM) { > m->notify_socket = strdup("/run/systemd/notify"); > - else { > + if (!m->notify_socket) > + return log_oom(); > + } else { > const char *e; > > e = getenv("XDG_RUNTIME_DIR"); > @@ -674,9 +676,11 @@ static int manager_setup_notify(Manager *m) { > } > > m->notify_socket = strappend(e, "/systemd/notify"); > + if (!m->notify_socket) > + return log_oom(); > + > + mkdir_parents_label(m->notify_socket, 0755); > } > - if (!m->notify_socket) > - return log_oom(); > > strncpy(sa.un.sun_path, m->notify_socket, > sizeof(sa.un.sun_path)-1); > r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) > + strlen(sa.un.sun_path)); > -- > 2.1.2 > > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel