[syslog-ng]Re: syslog-ng dying randomly?
Balazs Scheidler
bazsi@balabit.hu
Mon, 27 May 2002 17:38:00 +0200
On Wed, May 22, 2002 at 02:53:00PM +0200, Balazs Scheidler wrote:
> On Mon, May 20, 2002 at 11:17:23AM -0400, John Morrissey wrote:
> > I don't mean to be a bother, but do you have anything further on this,
> > Bazsi?
>
> sorry no news. I wasn't able to reproduce the problem, and this makes it
> very difficult to hunt the bug. And I didn't have too much time lately.
Being unable to reproduce the problem, I tried to locate the problems:
I made two patches, one against syslog-ng the other against libol, please
check if these fixes your problems.
/* this is against libol/src/io.c */
diff -u -r1.27 io.c
--- io.c 21 Mar 2002 11:32:35 -0000 1.27
+++ io.c 27 May 2002 15:35:17 -0000
@@ -238,7 +238,9 @@
WRITE_FD(fd);
else {
verbose("io_iter(): POLLHUP on inactive fd!\n");
- close_fd(fd, CLOSE_EOF);
+
+ /* we have no chance to flush if POLLHUP was received, therefore closekill immediately */
+ closekill_fd(fd, CLOSE_EOF);
}
continue;
}
/* this against syslog-ng/src/afinet.c */
diff -u -r1.17 afinet.c
--- src/afinet.c 26 Apr 2002 09:43:54 -0000 1.17
+++ src/afinet.c 27 May 2002 15:37:19 -0000
@@ -536,7 +536,8 @@
{
CAST(afinet_dest, self, c);
if (self->conn_fd) {
- KILL_RESOURCE(&self->conn_fd->super.super);
+ /* KILL_RESOURCE(&self->conn_fd->super.super); */
+ closekill_fd(self->conn_fd);
self->conn_fd = NULL;
}
}
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1