From 7b68465ea16cbdac9d81ba3ad196f415cbe34ee1 Mon Sep 17 00:00:00 2001 From: glengray Date: Mon, 12 Nov 2001 18:13:07 +0000 Subject: [PATCH] Added the code to set the socket to SO_REUSE. --- server/sock.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/sock.c b/server/sock.c index 9ad3c0a..2e1feb5 100644 --- a/server/sock.c +++ b/server/sock.c @@ -43,7 +43,7 @@ int sock_create_inet_socket (char * addr, unsigned int port) { struct sockaddr_in name; - int sock; + int sock, sockopt=1; debug ("sock_create_inet_socket(%i)\n", port); @@ -55,7 +55,13 @@ sock_create_inet_socket (char * addr, unsigned int port) syslog(LOG_ALERT, "could not create socket"); return -1; } - + /* Set the socket so we can re-use it*/ + if(setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,&sockopt,sizeof(sockopt)) < 0) { + perror("Error setting socket option SO_REUSEADDR"); + syslog(LOG_ALERT, "Error setting socket option SO_REUSEADDR"); + return -1; + } + /* Give the socket a name. */ //debug("Binding Inet Socket\n"); memset (&name, 0, sizeof (name));