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