aboutsummaryrefslogtreecommitdiff
path: root/src/Utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utils.c')
-rw-r--r--src/Utils.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/Utils.c b/src/Utils.c
index 4aee4c0..78ecca9 100644
--- a/src/Utils.c
+++ b/src/Utils.c
@@ -28,6 +28,10 @@
#include "SocketUtils.h"
+static char *rcsid = "$Header$";
+CCTK_FILEVERSION(Development_Socket)
+
+
/* #if defined(ANSI) || defined(__STDC__) */
#ifdef __STDC__
/*
@@ -50,9 +54,6 @@ u_short ntohs();
u_long inet_addr();
#endif
-static char *rcsid = "$Header$";
-
-
extern int errno;
/*@@
@@ -196,6 +197,7 @@ int Socket_TCPOpenServerSock(int port)
struct protoent *ppe;
struct sockaddr_in sin;
int s/*,type*/;
+ const int on = 1;
bzero((char *)&sin, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
@@ -212,6 +214,11 @@ int Socket_TCPOpenServerSock(int port)
fprintf(stderr,"couldn\'t create socket on port %u\n",port);
return s;
}
+ if(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on)) < 0)
+ {
+ fprintf(stderr,"couldn\'t set SO_REUSEADDR to port %u\n",port);
+ return s;
+ }
if(bind(s,(struct sockaddr *)&sin, sizeof(sin)) < 0)
{
fprintf(stderr,"couldn\'t bind to port %u\n",port);