Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- credential-cache--daemon.c | 2 +- unix-socket.c | 5 +++-- unix-socket.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/credential-cache--daemon.c b/credential-cache--daemon.c index 390f194..1b995a9 100644 --- a/credential-cache--daemon.c +++ b/credential-cache--daemon.c @@ -207,7 +207,7 @@ static void serve_cache(const char *socket_path) { int fd; - fd = unix_stream_listen(socket_path); + fd = unix_stream_listen(socket_path, 1); if (fd < 0) die_errno("unable to bind to '%s'", socket_path); diff --git a/unix-socket.c b/unix-socket.c index 01f119f..2be1af6 100644 --- a/unix-socket.c +++ b/unix-socket.c @@ -93,7 +93,7 @@ fail: return -1; } -int unix_stream_listen(const char *path) +int unix_stream_listen(const char *path, int replace) { int fd, saved_errno; struct sockaddr_un sa; @@ -103,7 +103,8 @@ int unix_stream_listen(const char *path) return -1; fd = unix_stream_socket(); - unlink(path); + if (replace) + unlink(path); if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) goto fail; diff --git a/unix-socket.h b/unix-socket.h index e271aee..18ee290 100644 --- a/unix-socket.h +++ b/unix-socket.h @@ -2,6 +2,6 @@ #define UNIX_SOCKET_H int unix_stream_connect(const char *path); -int unix_stream_listen(const char *path); +int unix_stream_listen(const char *path, int replace); #endif /* UNIX_SOCKET_H */ -- 1.8.5.2.240.g8478abd -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html