diff --git a/client.c b/client.c index 0d7227d7..970d132e 100644 --- a/client.c +++ b/client.c @@ -153,15 +153,19 @@ retry: } fd = server_start(base, lockfd, lockfile); } + if (locked) { free(lockfile); close(lockfd); } - setblocking(fd, 0); return (fd); failed: + if (locked) { + free(lockfile); + close(lockfd); + } close(fd); return (-1); } diff --git a/log.c b/log.c index bcf37cd2..c622d894 100644 --- a/log.c +++ b/log.c @@ -42,6 +42,9 @@ log_event_cb(unused int severity, const char *msg) void log_open(const char *path) { + if (log_file != NULL) + fclose(log_file); + log_file = fopen(path, "w"); if (log_file == NULL) return;