On Thu, Jan 02, 2003 at 07:11:59PM +0100, Andreas Schulze wrote:
Hello Balazs,
Balazs Scheidler wrote:
I think, you changed the internal buffering from a line based buffer to byte based buffer between 1.5.8 and 1.5.9. In 1.5.7 there isn't that problem. Maybe, line based buffering seems a better idea in this context.
Thanks for the detailed report. I think I have found the problem this time. Can you check this patch?
I checked the patch. Using patched libol-0.3.6 and syslog-ng-1.5.24. It solves the message drops in pipes(). Thanks a lot for this. But it seems, it doesn't solve the mangled messages problem. :(
I try to explain it. Look at the following truss output. (Remember, that we use several log path's pointing to the same pipe(), so all fd's (13,18,24,41,54) points to /tmp/pipe e.g. fd 41 is the heavy loaded path and caused the EAGAIN's.)
Hmm... I see.. You should not point multiple destinations to the same pipe. As each destination has its own buffer. Is it not possible to separate the pipe to a single destination? I'm thinking about the possibility of destination references, would that solve your problem? -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1