From 1b5d45cec7233fd82f26ac4bc7f5f44886aabe59 Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Sun, 5 Mar 2017 04:13:07 +0100 Subject: runserver: reuse address --- src/blogc-runserver/httpd.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/blogc-runserver/httpd.c b/src/blogc-runserver/httpd.c index 847f8f9..4afb2b8 100644 --- a/src/blogc-runserver/httpd.c +++ b/src/blogc-runserver/httpd.c @@ -270,6 +270,10 @@ br_httpd_run(const char *host, const char *port, const char *docroot, if (server_socket == -1) { continue; } + int value = 1; + if (0 > setsockopt(server_socket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(int))) { + continue; + } if (0 == bind(server_socket, rp->ai_addr, rp->ai_addrlen)) { f = rp; break; @@ -288,13 +292,6 @@ br_httpd_run(const char *host, const char *port, const char *docroot, int rv = 0; - int value = 1; - if (0 > setsockopt(server_socket, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(int))) { - fprintf(stderr, "Failed to set socket option: %s\n", strerror(errno)); - rv = 3; - goto cleanup; - } - if (-1 == listen(server_socket, LISTEN_BACKLOG)) { fprintf(stderr, "Failed to listen to server socket: %s\n", strerror(errno)); rv = 3; -- cgit v1.2.3-18-g5258