aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@9697cf00-7f2a-4e1b-af3c-314b8e4b499e>2000-06-19 16:57:47 +0000
committertradke <tradke@9697cf00-7f2a-4e1b-af3c-314b8e4b499e>2000-06-19 16:57:47 +0000
commit95f9ecb754da74ec0fa6c53ad9fb6c29128ecef2 (patch)
tree4fd5001d93765ce74c53b3a97c604064bdd2e7c9
parent3303c6bc1618b45467005a31a46f0cbd67b772e4 (diff)
Added CCTK_FILEVERSION() and set TCP server sockets to SO_REUSEADDR.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusConnect/Socket/trunk@7 9697cf00-7f2a-4e1b-af3c-314b8e4b499e
-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);