On Mon, May 13, 2002 at 10:26:01AM -0400, Michael Stenner wrote: > I've tracked the problem down pretty far. If syslog-ng is restarted > after a Sys::Syslog::connect(), and then &syslog() is called, the > process will die with "Broken Pipe". > > It does not appear that this can be caught. I tried wrapping it in an > eval {} and it still killed the process. > > I'm also not sure where it's coming from. I grepped through > /usr/bin/perl and all modules, manpages and included libraries that I > could find, looking for "Broken Pipe".
Well, "broken pipe" is really the process receiving a SIGPIPE. So a possible solution would be something like: my $old = $SIG{'PIPE'}; $SIG{'PIPE'} = sub { closelog; openlog ... ; } do logging; $SIG{'PIPE'} = $old; around the logging areas. That way the signal will be trapped when appropriate and handled. -- Randomly Generated Tagline: I've generally found Sarathy's tastes to be impeccable, though everyone's tastes need pecking now and then. -- Larry Wall in <[EMAIL PROTECTED]> _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk