HTTP server: Allow TCP socket to be reused

This makes it easier to handle cases where the application is restarted
and the previously used local TCP port may not have been fully cleared
in the network stack.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2013-06-14 11:42:23 -07:00 committed by Jouni Malinen
parent 9bc33868bf
commit e88060e1a7

View file

@ -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)