From ec6233c810ce2115eb1ce1b3f10d6833f0ed33ea Mon Sep 17 00:00:00 2001 From: Sebastian Harl Date: Wed, 11 Dec 2013 11:26:24 +0100 Subject: [PATCH] frontend: Remove stale UNIX sockets before trying to bind(). --- src/frontend/sock.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/frontend/sock.c b/src/frontend/sock.c index 4cf1d79..65884ea 100644 --- a/src/frontend/sock.c +++ b/src/frontend/sock.c @@ -104,6 +104,13 @@ open_unix_sock(listener_t *listener) strncpy(sa.sun_path, listener->address + strlen("unix:"), sizeof(sa.sun_path)); + if (unlink(listener->address + strlen("unix:")) && (errno != ENOENT)) { + char errbuf[1024]; + sdb_log(SDB_LOG_WARNING, "frontend: Failed to remove stale UNIX " + "socket %s: %s", listener->address + strlen("unix:"), + sdb_strerror(errno, errbuf, sizeof(errbuf))); + } + status = bind(listener->sock_fd, (struct sockaddr *)&sa, sizeof(sa)); if (status) { char buf[1024]; -- 2.30.2