Skaag Argonius wrote:
Robert Spier wrote:
I'm used to qpsmtpd running for a few month now, but I made the
mistake of updating from CVS (whoah, big mistake!!). Guess every
person is entitled to at least ONE stupid deed per year, and that was
the one for me ;-)
The CVS doesn't exist anymore, and hasn't for months, so whatever you
did, it didn't update anything. (And it should have spewed errors at
you.)
Hi Robert,
That's right - I updated from SVN and am now running the 0.31.1 branch.
But it still stops working once in a while which is quite frustrating.
I've posted information in the next thread in the mailing list.
It happens to another person, who also posted to that thread.
If you know what could be causing this, please help!!!! <screams in
panic!!> :-)
Skaag
Mine stopped working "once in a while", when the log rotated.
# ln -s /var/qpsmtpd /service/qpsmtpd
# /service/qpsmtpd/log/run says:
exec ......... multilog ...... !log_processor_script
"If multilog has trouble...may block any program feeding input
to multilog...If multilog receives a TERM signal, it will read and
process data until the next newline, and then exit, leaving stdin
at the first byte of data it has not processed"
That says multilog can block qpsmtpd.
svc -t /service/qpsmtpd/log
Sending TERM to multilog unblocked multilog and qpsmtpd.
I put "/usr/local/bin/svc -t /service/qpsmtpd/log" at the end of
the forked log processor(processor parent forks, child sleeps
until after parent prints input unchanged to output and exits
0, and multilog writes to disk, child wakes up and processes
log files, child sends TERM to multilog, multilog exits, new
multilog starts, qpsmtpd is unblocked).
su qmaill "/usr/local/bin/svc -t /service/qpsmtpd/log" worked
as a test. The log hasn't rotated since I put the svc -t in, so I
can't be sure that's the end of the problem. If a child's child
can send TERM to it's grand-parent, everything ought to be
OK.
-Bob