From 15c7079984fff9e5cbdef070dca584ca761793dc Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Fri, 24 May 2013 01:43:08 +0200 Subject: syslog_relay: Make sure syslog worker thread is not stuck forever --- src/syslog_relay.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/syslog_relay.c b/src/syslog_relay.c index f1231e1..2936700 100644 --- a/src/syslog_relay.c +++ b/src/syslog_relay.c @@ -211,8 +211,10 @@ void *syslog_relay_worker(void *arg) while (srwt->client->parent) { char c; uint32_t bytes = 0; - ret = syslog_relay_receive_with_timeout(srwt->client, &c, 1, &bytes, 0); - if (ret < 0 || (bytes != 1)) { + ret = syslog_relay_receive_with_timeout(srwt->client, &c, 1, &bytes, 100); + if ((bytes == 0) && (ret == SYSLOG_RELAY_E_SUCCESS)) { + continue; + } else if (ret < 0) { debug_info("Connection to syslog relay interrupted"); break; } -- cgit v1.1-32-gdbae