https://bugzilla.balabit.com/show_bug.cgi?id=181 Balazs Scheidler <bazsi@balabit.hu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bazsi@balabit.hu --- Comment #1 from Balazs Scheidler <bazsi@balabit.hu> 2012-05-25 10:24:46 --- it probably happens with udp() too, as it might be SOCK_DGRAM related. In that case a connection closure closes the only socket that is used to read messages. This untested patch should help: diff --git a/lib/logreader.c b/lib/logreader.c index 562edd9..6c53b32 100644 --- a/lib/logreader.c +++ b/lib/logreader.c @@ -120,19 +120,19 @@ log_reader_work_finished(void *s) { LogReader *self = (LogReader *) s; - if (self->notify_code == 0) + if (self->notify_code) { - if (self->super.super.flags & PIF_INITIALIZED) - { - /* reenable polling the source assuming that we're still in - * business (e.g. the reader hasn't been uninitialized) */ + gint notify_code = self->notify_code; - log_reader_start_watches(self); - } + self->notify_code = 0; + log_pipe_notify(self->control, &self->super.super, notify_code, self); } - else + if (self->super.super.flags & PIF_INITIALIZED) { - log_pipe_notify(self->control, &self->super.super, self->notify_code, self); + /* reenable polling the source assuming that we're still in + * business (e.g. the reader hasn't been uninitialized) */ + + log_reader_start_watches(self); } log_pipe_unref(&self->super.super); } -- Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.