# HG changeset patch # User jbe # Date 1428664649 -7200 # Node ID 74ec80b721b9a0e6506d7113478e62837e290ccd # Parent 84aa2b8dcf797b155d05d6c241f211b3e0374ae9 Use SO_REUSEADDR for moonbridge_io.tcplisten(...) diff -r 84aa2b8dcf79 -r 74ec80b721b9 moonbridge_io.c --- a/moonbridge_io.c Fri Apr 10 13:11:17 2015 +0200 +++ b/moonbridge_io.c Fri Apr 10 13:17:29 2015 +0200 @@ -858,6 +858,17 @@ lua_pushstring(L, errmsg); return 2; } + { + static const int reuseval = 1; + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &reuseval, sizeof(reuseval))) { + moonbr_io_errmsg(); + freeaddrinfo(res); + close(sock); + lua_pushnil(L); + lua_pushfstring(L, "Error while setting SO_REUSEADDR with setsockopt: %s", errmsg); + return 2; + } + } if (bind(sock, addrinfo->ai_addr, addrinfo->ai_addrlen)) { moonbr_io_errmsg(); freeaddrinfo(res);