|
@@ -232,6 +232,7 @@ struct http_server * http_server_init(struct in_addr *addr, int port,
|
|
|
{
|
|
|
struct sockaddr_in sin;
|
|
|
struct http_server *srv;
|
|
|
+ int on = 1;
|
|
|
|
|
|
srv = os_zalloc(sizeof(*srv));
|
|
|
if (srv == NULL)
|
|
@@ -242,6 +243,9 @@ struct http_server * http_server_init(struct in_addr *addr, int port,
|
|
|
srv->fd = socket(AF_INET, SOCK_STREAM, 0);
|
|
|
if (srv->fd < 0)
|
|
|
goto fail;
|
|
|
+
|
|
|
+ setsockopt(srv->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
|
|
|
+
|
|
|
if (fcntl(srv->fd, F_SETFL, O_NONBLOCK) < 0)
|
|
|
goto fail;
|
|
|
if (port < 0)
|