diff freeDiameter/cnxctx.c @ 227:80a7e65167c4

Cleanup verbosity and fix unintialized variable
author Sebastien Decugis <sdecugis@nict.go.jp>
date Tue, 02 Mar 2010 14:17:15 +0900
parents 85dc47afeac7
children dcb58243e91f
line wrap: on
line diff
--- a/freeDiameter/cnxctx.c	Tue Mar 02 11:19:11 2010 +0900
+++ b/freeDiameter/cnxctx.c	Tue Mar 02 14:17:15 2010 +0900
@@ -286,14 +286,31 @@
 /* Client side: connect to a remote server -- cancelable */
 struct cnxctx * fd_cnx_cli_connect_tcp(sSA * sa /* contains the port already */, socklen_t addrlen)
 {
-	int sock;
+	int sock = 0;
 	struct cnxctx * cnx = NULL;
 	
 	TRACE_ENTRY("%p %d", sa, addrlen);
 	CHECK_PARAMS_DO( sa && addrlen, return NULL );
 	
 	/* Create the socket and connect, which can take some time and/or fail */
-	CHECK_FCT_DO( fd_tcp_client( &sock, sa, addrlen ), return NULL );
+	{
+		int ret = fd_tcp_client( &sock, sa, addrlen );
+		if (ret != 0) {
+			int lvl;
+			switch (ret) {
+				case ECONNREFUSED:
+
+					/* "Normal" errors */
+					lvl = FULL;
+					break;
+				default:
+					lvl = INFO;
+			}
+			/* Some errors are expected, we log at different level */
+			TRACE_DEBUG( lvl, "fd_tcp_client returned an error: %s", strerror(ret));
+			return NULL;
+		}
+	}
 	
 	if (TRACE_BOOL(INFO)) {
 		fd_log_debug("Connection established to server '");
@@ -343,14 +360,31 @@
 	ASSERT(0);
 	CHECK_FCT_DO( ENOTSUP, return NULL);
 #else /* DISABLE_SCTP */
-	int sock;
+	int sock = 0;
 	struct cnxctx * cnx = NULL;
 	sSS primary;
 	
 	TRACE_ENTRY("%p", list);
 	CHECK_PARAMS_DO( list && !FD_IS_LIST_EMPTY(list), return NULL );
 	
-	CHECK_FCT_DO( fd_sctp_client( &sock, no_ip6, port, list ), return NULL );
+	{
+		int ret = fd_sctp_client( &sock, no_ip6, port, list );
+		if (ret != 0) {
+			int lvl;
+			switch (ret) {
+				case ECONNREFUSED:
+
+					/* "Normal" errors */
+					lvl = FULL;
+					break;
+				default:
+					lvl = INFO;
+			}
+			/* Some errors are expected, we log at different level */
+			TRACE_DEBUG( lvl, "fd_sctp_client returned an error: %s", strerror(ret));
+			return NULL;
+		}
+	}
 	
 	/* Once the socket is created successfuly, prepare the remaining of the cnx */
 	CHECK_MALLOC_DO( cnx = fd_cnx_init(1), { shutdown(sock, SHUT_RDWR); close(sock); return NULL; } );
"Welcome to our mercurial repository"