summaryrefslogtreecommitdiffstats
path: root/src/local.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/local.c')
-rw-r--r--src/local.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/local.c b/src/local.c
index 9ff5f82..d861e12 100644
--- a/src/local.c
+++ b/src/local.c
@@ -37,6 +37,7 @@ int local_server_create(struct local_conf *conf)
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &conf->reuseaddr,
sizeof(conf->reuseaddr)) == -1) {
close(fd);
+ unlink(conf->path);
return -1;
}
@@ -47,19 +48,22 @@ int local_server_create(struct local_conf *conf)
if (bind(fd, (struct sockaddr *) &local, len) == -1) {
close(fd);
+ unlink(conf->path);
return -1;
}
if (listen(fd, conf->backlog) == -1) {
close(fd);
+ unlink(conf->path);
return -1;
}
return fd;
}
-void local_server_destroy(int fd)
+void local_server_destroy(int fd, const char *path)
{
+ unlink(path);
close(fd);
}