We need to configure a pipe to connect the output to a special application. Our 
configuration looks like this:

----->snip<--------
$ModLoad imuxsock
$ModLoad imklog
$ModLoad immark

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$RepeatedMsgReduction on

*.* |/var/run/syslog2thinfs

... some other channels
----->snap<--------

The fifo is created and has sufficient rights.

Now we can see the following behaviour:

No receiver connected to the pipe, rsyslog writes messages into it

Receiver is connected, queued messages are read -> fine

Receiver is disconnected, rsyslog continues writing messages into it (just a 
few)

Receiver is reconnected, queued messages are read -> fine

Receiver is disconnected, rsyslog continues writing messages into it (more than 
the pipe capacity?)

Receiver is reconnected, *some queued messages* are read (but only up to the 
pipe capacity?)

After this *no more messages* reach the end of the pipe. Disconnect/reconnect 
the receiver makes no difference. -> bad :(

I believe this is a bug. May be some messages get lost because there is no 
place for intermediate storage. But after reconnecting the receiver new 
messages should pass the pipe again. Right?

We've seen this with 5.5.4 and 5.5.6. You can reproduce the behaviour using the 
following shell snippets.

Sender:
----->snip<--------
i=0;while true; do logger -t count $i; i=$(($i+1)); done
----->snap<--------

Receiver:
----->snip<--------
while true; do cat /var/run/syslog2thinfs ; done
----->snap<--------

Regards,
Steffen

_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to