summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-03-14 16:15:31 +0100
committerLennart Poettering <lennart@poettering.net>2011-03-14 16:15:31 +0100
commit6f79c579ec9c188173dde41395bbfb86c547fdd3 (patch)
tree2fbb3d6b72ef0c1af0582b64624886c27d806b9a
parentf41de9596627ef68fcb4c0dae4b9bd8033701230 (diff)
main: remove AF_UNIX sockets before binding
-rw-r--r--src/dbus.c1
-rw-r--r--src/manager.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/dbus.c b/src/dbus.c
index 31e776fc30..7afb0fb5e1 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 6ccb03fab4..1ab4c94eef 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;