[syslog-ng]Urgent: Mangled messages in pipe() destinations in versions >1.5.8

Andreas Schulze Andreas.Schulze@mediaWays.NET
Thu, 20 Feb 2003 12:18:46 +0100


Balazs Scheidler wrote:
> On Fri, Jan 03, 2003 at 06:08:10PM +0100, Balazs Scheidler wrote:
> 
>>On Fri, Jan 03, 2003 at 03:29:38PM +0100, Andreas Schulze wrote:
>>
>>>>>>>Balazs Scheidler wrote:
>>>>
>>>>I'm thinking about the possibility of destination references, would that
>>>>solve your problem?
>>>
>>>Sorry. I don't understand. I'm not sure, that this solves our problem.
>>>Can you explain 'destination references' a little bit, please.
>>
>>looking at your above example, destination references will not be a
>>solution. I meant something like this:
>>
>>destination d_pipe { pipe("/tmp/pipe" template("xxx")); };
>>
>>destination d_another { destination("d_pipe"); };
>>
>>so the messages sent to d_another would also go to d_pipe.
>>
>>I will try to think about your problem a bit. ...
>>
>>It is not easy to implement, I'd need to share the destination fd & write
>>buffers between multiple, independent destination drivers...
>>
>>It was not meant to be working the way you used in earlier versions either,
>>the fact it worked was only a coincidence.
> 
> Syslog-ng 1.5.26 (libol 0.3.9 to be exact) reverts to message based
> buffering for pipes, so it should work for you again.

Great. Thanks a lot. We will try it out and give feedback asap.

-- 
Best regards --Andreas Schulze
                [phone: +49.5246.80.1275, fax: +49.5246.80.2275]

| I believe, it was Dennis Ritchie who said something like:
|   "C is rarely the best language for a given task,
|    but it's often the second-best".
| The implication being that: "[...]"
|     http://www.ioccc.org/1990/dds.c