diff options
Diffstat (limited to 'avahi-daemon')
-rw-r--r-- | avahi-daemon/simple-protocol.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c index 8bd8da4..c41e07c 100644 --- a/avahi-daemon/simple-protocol.c +++ b/avahi-daemon/simple-protocol.c @@ -386,6 +386,13 @@ int simple_protocol_setup(GMainContext *c) { sa.sun_family = AF_LOCAL; strncpy(sa.sun_path, UNIX_SOCKET, sizeof(sa.sun_path)-1); + /* We simply remove existing UNIX sockets under this name. The + Avahi daemons makes sure that it runs only once on a host, + therefore sockets that already exist are stale and may be + removed without any ill effects */ + + unlink(UNIX_SOCKET); + if (bind(server->fd, &sa, sizeof(sa)) < 0) { avahi_log_warn("bind(): %s", strerror(errno)); goto fail; |