From 6f79c579ec9c188173dde41395bbfb86c547fdd3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 14 Mar 2011 16:15:31 +0100 Subject: [PATCH] main: remove AF_UNIX sockets before binding --- src/dbus.c | 1 + src/manager.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dbus.c b/src/dbus.c index 31e776fc3..7afb0fb5e 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -955,6 +955,7 @@ static int bus_init_private(Manager *m) { if (getpid() != 1) return 0; + unlink("/dev/.run/systemd/private"); if (!(m->private_bus = dbus_server_listen("unix:path=/dev/.run/systemd/private", &error))) { log_error("Failed to create private D-Bus server: %s", error.message); r = -EIO; diff --git a/src/manager.c b/src/manager.c index 6ccb03fab..1ab4c94ee 100644 --- a/src/manager.c +++ b/src/manager.c @@ -90,8 +90,10 @@ static int manager_setup_notify(Manager *m) { if (getpid() != 1) snprintf(sa.un.sun_path, sizeof(sa.un.sun_path), NOTIFY_SOCKET_USER "/%llu", random_ull()); - else + else { + unlink(NOTIFY_SOCKET_SYSTEM); strncpy(sa.un.sun_path, NOTIFY_SOCKET_SYSTEM, sizeof(sa.un.sun_path)); + } if (sa.un.sun_path[0] == '@') sa.un.sun_path[0] = 0;