Changeset 227:80a7e65167c4 in freeDiameter
- Timestamp:
- Mar 2, 2010, 2:17:15 PM (14 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- freeDiameter
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
freeDiameter/cnxctx.c
r223 r227 287 287 struct cnxctx * fd_cnx_cli_connect_tcp(sSA * sa /* contains the port already */, socklen_t addrlen) 288 288 { 289 int sock ;289 int sock = 0; 290 290 struct cnxctx * cnx = NULL; 291 291 … … 294 294 295 295 /* Create the socket and connect, which can take some time and/or fail */ 296 CHECK_FCT_DO( fd_tcp_client( &sock, sa, addrlen ), return NULL ); 296 { 297 int ret = fd_tcp_client( &sock, sa, addrlen ); 298 if (ret != 0) { 299 int lvl; 300 switch (ret) { 301 case ECONNREFUSED: 302 303 /* "Normal" errors */ 304 lvl = FULL; 305 break; 306 default: 307 lvl = INFO; 308 } 309 /* Some errors are expected, we log at different level */ 310 TRACE_DEBUG( lvl, "fd_tcp_client returned an error: %s", strerror(ret)); 311 return NULL; 312 } 313 } 297 314 298 315 if (TRACE_BOOL(INFO)) { … … 344 361 CHECK_FCT_DO( ENOTSUP, return NULL); 345 362 #else /* DISABLE_SCTP */ 346 int sock ;363 int sock = 0; 347 364 struct cnxctx * cnx = NULL; 348 365 sSS primary; … … 351 368 CHECK_PARAMS_DO( list && !FD_IS_LIST_EMPTY(list), return NULL ); 352 369 353 CHECK_FCT_DO( fd_sctp_client( &sock, no_ip6, port, list ), return NULL ); 370 { 371 int ret = fd_sctp_client( &sock, no_ip6, port, list ); 372 if (ret != 0) { 373 int lvl; 374 switch (ret) { 375 case ECONNREFUSED: 376 377 /* "Normal" errors */ 378 lvl = FULL; 379 break; 380 default: 381 lvl = INFO; 382 } 383 /* Some errors are expected, we log at different level */ 384 TRACE_DEBUG( lvl, "fd_sctp_client returned an error: %s", strerror(ret)); 385 return NULL; 386 } 387 } 354 388 355 389 /* Once the socket is created successfuly, prepare the remaining of the cnx */ -
freeDiameter/sctp.c
r222 r227 841 841 842 842 #ifdef SCTP_CONNECTX_4_ARGS 843 CHECK_SYS_DO( sctp_connectx(*sock, sar.sa, count, NULL), { ret = errno; goto fail; });843 ret = sctp_connectx(*sock, sar.sa, count, NULL); 844 844 #else /* SCTP_CONNECTX_4_ARGS */ 845 CHECK_SYS_DO( sctp_connectx(*sock, sar.sa, count), { ret = errno; goto fail; });845 ret = sctp_connectx(*sock, sar.sa, count); 846 846 #endif /* SCTP_CONNECTX_4_ARGS */ 847 848 if (ret < 0) { 849 int lvl; 850 switch (ret = errno) { 851 case ECONNREFUSED: 852 853 /* "Normal" errors */ 854 lvl = FULL; 855 break; 856 default: 857 lvl = INFO; 858 } 859 /* Some errors are expected, we log at different level */ 860 TRACE_DEBUG( lvl, "sctp_connectx returned an error: %s", strerror(ret)); 861 goto fail; 862 } 847 863 848 864 free(sar.buf); sar.buf = NULL; -
freeDiameter/sctps.c
r223 r227 238 238 pthread_rwlock_t lock; 239 239 struct cnxctx *parent; 240 /* Add another list to chain in a global list to implement a garbage collector on sessions -- TODO */240 /* Add another list to chain in a global list to implement a garbage collector on sessions -- TODO if needed */ 241 241 }; 242 242 -
freeDiameter/server.c
r123 r227 274 274 (void) fd_cnx_getendpoints(s->conn, &fd_g_config->cnf_endpoints, NULL); 275 275 if (TRACE_BOOL(FULL)){ 276 fd_log_debug(" Server bound on the following addresses:\n");276 fd_log_debug(" Local server address(es) :\n"); 277 277 fd_ep_dump( 5, &fd_g_config->cnf_endpoints ); 278 278 } -
freeDiameter/tcp.c
r191 r227 136 136 137 137 /* Try connecting to the remote address */ 138 CHECK_SYS_DO( connect(s, sa, salen), { ret = errno; close(s); s = -1; } ); 138 ret = connect(s, sa, salen); 139 140 pthread_cleanup_pop(0); 141 142 if (ret < 0) { 143 int lvl; 144 switch (ret = errno) { 145 case ECONNREFUSED: 146 147 /* "Normal" errors */ 148 lvl = FULL; 149 break; 150 default: 151 lvl = INFO; 152 } 153 /* Some errors are expected, we log at different level */ 154 TRACE_DEBUG( lvl, "connect returned an error: %s", strerror(ret)); 155 CHECK_SYS_DO( close(s), /* continue */ ); 156 *sock = -1; 157 return ret; 158 } 139 159 140 160 /* Done! */ 141 pthread_cleanup_pop(0);142 161 *sock = s; 143 162 return ret;
Note: See TracChangeset
for help on using the changeset viewer.