From: František Dvořák Date: Tue, 30 Mar 2010 19:30:57 +0000 (+0000) Subject: More error handling. X-Git-Tag: glite-lb-doc_R_1_1_3_1~12 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=cae88bded0c9370069b92528769afd13b35acd36;p=jra1mw.git More error handling. --- diff --git a/org.glite.lb.server/src/bkserverd.c b/org.glite.lb.server/src/bkserverd.c index a35daf9..b4dfe34 100644 --- a/org.glite.lb.server/src/bkserverd.c +++ b/org.glite.lb.server/src/bkserverd.c @@ -1096,8 +1096,15 @@ int bk_handle_connection(int conn, struct timeval *timeout, void *data) gettimeofday(&conn_start, 0); alen = sizeof(a); - getpeername(conn, (struct sockaddr *)&a, &alen); - h_errno = asyn_gethostbyaddr(&name_num, &port, (struct sockaddr *)&a, alen, &dns_to, 1); + memset(&a, 0, sizeof a); + if (getpeername(conn, (struct sockaddr *)&a, &alen) != 0) { + glite_common_log(LOG_CATEGORY_LB_SERVER_REQUEST, LOG_PRIORITY_ERROR, "getpeername(): %s", strerror(errno)); + return -1; + } + if ((h_errno = asyn_gethostbyaddr(&name_num, &port, (struct sockaddr *)&a, alen, &dns_to, 1)) != 0) { + glite_common_log(LOG_CATEGORY_LB_SERVER_REQUEST, LOG_PRIORITY_ERROR, "gethostbyaddr(): %s", hstrerror(h_errno)); + return -1; + } ctx->connections->serverConnection->peerPort = atoi(port); h_errno = asyn_gethostbyaddr(&name, NULL, (struct sockaddr *)&a, alen, &dns_to, 0); switch ( h_errno )