Mercurial > hg > freeDiameter
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; } );