diff --git a/fcgiwrap.c b/fcgiwrap.c index b44d8aa..a463f74 100644 --- a/fcgiwrap.c +++ b/fcgiwrap.c @@ -690,16 +690,10 @@ static void prefork(int nchildren) } static int listen_on_fd(int fd) { - int one = 1; - if (listen(fd, 511) < 0) { perror("Failed to listen"); return -1; } - if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one) < 0) { - perror("Failed to enable SO_REUSEADDR"); - return -1; - } if (dup2(fd, 0) < 0) { perror("Failed to move socket to fd 0"); return -1; @@ -787,6 +781,11 @@ static int setup_socket(char *url) { perror("Failed to create socket"); return -1; } + int one = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one) < 0) { + perror("Failed to enable SO_REUSEADDR"); + return -1; + } if (bind(fd, &sa.sa, sockaddr_size) < 0) { perror("Failed to bind"); return -1;