[syslog-ng] [Bug 181] Daemon stops reading from unix-dgram source following charset decoding error

bugzilla at bugzilla.balabit.com bugzilla at bugzilla.balabit.com
Fri May 25 10:24:46 CEST 2012


https://bugzilla.balabit.com/show_bug.cgi?id=181


Balazs Scheidler <bazsi at balabit.hu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bazsi at balabit.hu




--- Comment #1 from Balazs Scheidler <bazsi at 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.


More information about the syslog-ng mailing list