diff --git a/src/unix/network.c b/src/unix/network.c index 3eb434c7..c6badaf1 100644 --- a/src/unix/network.c +++ b/src/unix/network.c @@ -851,8 +851,7 @@ NET_Socket ( char *net_interface, int port, netsrc_t type, int family ) if (family == AF_INET) { /* make it broadcast capable */ - if (setsockopt(newsocket, SOL_SOCKET, SO_BROADCAST, (char *)&i, - sizeof(i)) == -1) + if (setsockopt(newsocket, SOL_SOCKET, SO_BROADCAST, (char *)&i, sizeof(i)) == -1) { Com_Printf("ERROR: NET_Socket: setsockopt SO_BROADCAST:%s\n", NET_ErrorString()); @@ -860,6 +859,14 @@ NET_Socket ( char *net_interface, int port, netsrc_t type, int family ) } } + /* make it reusable */ + if (setsockopt(newsocket, SOL_SOCKET, SO_REUSEADDR, (char *)&i, sizeof(i)) == -1) + { + Com_Printf("ERROR: NET_Socket: setsockopt SO_REUSEADDR:%s\n", + NET_ErrorString()); + return 0; + } + if (bind(newsocket, ai->ai_addr, ai->ai_addrlen) < 0) { Com_Printf("NET_Socket: bind: %s\n", strerror(errno));