changeset 184:89d39bcf9ef5

Some cleanups
author Sebastien Decugis <sdecugis@nict.go.jp>
date Thu, 04 Feb 2010 16:52:10 +0900
parents 960764fbc68f
children 7fb145c86a22
files freeDiameter/p_psm.c freeDiameter/sctp.c freeDiameter/tcp.c include/freeDiameter/libfreeDiameter.h
diffstat 4 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/freeDiameter/p_psm.c	Thu Feb 04 16:22:55 2010 +0900
+++ b/freeDiameter/p_psm.c	Thu Feb 04 16:52:10 2010 +0900
@@ -625,7 +625,6 @@
 	
 	/* A new connection has not been established with the remote peer */
 	if (event == FDEVP_CNX_FAILED) {
-		struct cnxctx * cnx = ev_data;
 		
 		/* Release the resources of the connecting thread */
 		CHECK_POSIX_DO( pthread_join( peer->p_ini_thr, NULL), /* ignore, it is not a big deal */);
--- a/freeDiameter/sctp.c	Thu Feb 04 16:22:55 2010 +0900
+++ b/freeDiameter/sctp.c	Thu Feb 04 16:52:10 2010 +0900
@@ -867,15 +867,17 @@
 	free(sar.buf); sar.buf = NULL;
 	
 	/* Set the remaining sockopts */
-	CHECK_FCT_DO( ret = fd_setsockopt_postbind(*sock, 1), goto fail );
+	CHECK_FCT_DO( ret = fd_setsockopt_postbind(*sock, 1), goto fail_deco );
 	
 	/* Done! */
 	pthread_cleanup_pop(0);
 	return 0;
 	
+fail_deco:
+	shutdown(*sock, SHUT_RDWR);
 fail:
 	if (*sock > 0) {
-		shutdown(*sock, SHUT_RDWR);
+		close(*sock);
 		*sock = -1;
 	}
 	free(sar.buf);
--- a/freeDiameter/tcp.c	Thu Feb 04 16:22:55 2010 +0900
+++ b/freeDiameter/tcp.c	Thu Feb 04 16:52:10 2010 +0900
@@ -132,7 +132,7 @@
 	TRACE_DEBUG_sSA(FULL, "Attempting TCP connection with peer: ", sa, NI_NUMERICHOST | NI_NUMERICSERV, "..." );
 	
 	/* Try connecting to the remote address */
-	CHECK_SYS( connect(*sock, sa, salen) );
+	CHECK_SYS_DO( connect(*sock, sa, salen), { int ret = errno; close(*sock); *sock = -1; return ret; } );
 	
 	/* Done! */
 	pthread_cleanup_pop(0);
--- a/include/freeDiameter/libfreeDiameter.h	Thu Feb 04 16:22:55 2010 +0900
+++ b/include/freeDiameter/libfreeDiameter.h	Thu Feb 04 16:52:10 2010 +0900
@@ -523,7 +523,7 @@
 {
 	if (sockptr) {
 		CHECK_SYS_DO( close(*(int *)sockptr), /* ignore */ );
-		*(int *)sockptr = 0;
+		*(int *)sockptr = -1;
 	}
 }
 
"Welcome to our mercurial repository"