From: Zdeněk Salvet Date: Thu, 11 May 2006 16:38:47 +0000 (+0000) Subject: Try to reconnect immediately if connection to server got preempted. X-Git-Tag: glite-lb-logger_R_1_3_2~2 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=086cdc89bddc4ccf298d19bd9881a02a463ddd6f;p=jra1mw.git Try to reconnect immediately if connection to server got preempted. --- diff --git a/org.glite.lb.logger/src/send_event.c b/org.glite.lb.logger/src/send_event.c index 7f1eb9d..44bb8b4 100644 --- a/org.glite.lb.logger/src/send_event.c +++ b/org.glite.lb.logger/src/send_event.c @@ -229,6 +229,7 @@ event_queue_send(struct event_queue *eq) size_t bytes_sent; struct timeval tv; edg_wll_GssStatus gss_stat; + int events_sent = 0; clear_error(); @@ -241,7 +242,10 @@ event_queue_send(struct event_queue *eq) tv.tv_usec = 0; ret = edg_wll_gss_write_full(&eq->gss, msg->msg, msg->len, &tv, &bytes_sent, &gss_stat); if(ret < 0) { - eq->timeout = TIMEOUT; + if (ret == EDG_WLL_GSS_ERROR_ERRNO && errno == EPIPE && events_sent > 0) + eq->timeout = 0; + else + eq->timeout = TIMEOUT; return(0); } @@ -288,6 +292,7 @@ event_queue_send(struct event_queue *eq) il_log(LOG_ERR, "send_event: %s\n", error_get_msg()); event_queue_remove(eq); + events_sent++; break; } /* switch */