From 086cdc89bddc4ccf298d19bd9881a02a463ddd6f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20Salvet?= Date: Thu, 11 May 2006 16:38:47 +0000 Subject: [PATCH] Try to reconnect immediately if connection to server got preempted. --- org.glite.lb.logger/src/send_event.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 */ -- 1.8.2.3