Rainer Gerhards wrote:

> I think I forgot to mention an important condition: by default, ompipe works
> in nonblocking mode. So you need to set it to blocking mode for the action in
> question. This is done via
> 
> $OMPipeBlockingMode on

I added that, just forgor to write it in the previous mail. The syntax
check passed ok and there are no errors generated from rsyslogd.

> in front of the action, like here:
> $OMPipeBlockingMode on
> local1.*      |/opt/foo/my_named_pipe

I still have 30 second sleep in select() and there is a number of write()
calls to FIFO (checked with lsof) before that which fail with EAGAIN.

The output of "strace -f -e trace=file rsyslogd ..." shows:

25169 open("/opt/bulb/var/rsyslog/to_parser", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 5

Then I negated the condition in preparePipe() to:

        if(!pData->bBlocking)
                mode |= O_NONBLOCK;

and now strace doesn't show O_NONBLOCK and there is no sleep in select().
I'll run more comprehensive tests just to be sure, but this looks ok.

> > I'm not aware of a repository with the newer autotools packages. I
> > didn't need them so far, so I wasn't looking.
> 
> OK, thanks, so I probably need to dump the idea of working with a "normal"
> git environment there and will developed based on a release tarball.

There is rpmfind.net which will probably find the packages you want, maybe
even for a Linux distribution you want it for. But the quality of the
packages isn't always as good as it could be, so I tend to stay away from
random sources for production systems. I'd try it for the development
purposes, which is what you need.

-- 
 .-.   .-.    Yes, I am an agent of Satan, but my duties are largely
(_  \ /  _)   ceremonial.
     |
     |        [email protected]
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to