# HG changeset patch # User Sebastien Decugis # Date 1265269930 -32400 # Node ID 89d39bcf9ef5cc8a4e652719ae31ca50a4cd6f9d # Parent 960764fbc68fb2f235ef08752595d1552d7830e6 Some cleanups diff -r 960764fbc68f -r 89d39bcf9ef5 freeDiameter/p_psm.c --- 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 */); diff -r 960764fbc68f -r 89d39bcf9ef5 freeDiameter/sctp.c --- 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); diff -r 960764fbc68f -r 89d39bcf9ef5 freeDiameter/tcp.c --- 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); diff -r 960764fbc68f -r 89d39bcf9ef5 include/freeDiameter/libfreeDiameter.h --- 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; } }