[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