Update rules settings on the fly

Steve Freegard steve.freegard at LBSLTD.CO.UK
Fri Apr 9 10:29:48 IST 2004


Hi Ugo/Peter,

-- SNIP --
I'm neither of them but I think I can explain it. Restart is terminating
(sending SIGTERM to) the parent process which in turn terminates all
child processes, then it starts it all up again, same as stop and then
start. When you reload you send the hangup signal (SIGHUP) to the parent
which terminates the child processes and start them up again. The parent
never dies that way but mail processing is still interrupted for a
moment before the new children pick up messages (only the children
process messages). There's no signal for re-reading the config, the
children do that whenever they start.

This is based on what I have observed, not on actually looking through
the code so I reserve the right to be completely wrong. ;-)
-- SNIP --

I'd say that you are exactly right as per my limited knowledge of
MailScanner internals (I've looked at the code numerous times but reserve
the right to mis-understand it!).

If want to re-read ruleset's then 'reload' is the way to go at the moment -
you can change most things in MailScanner.conf and then do a reload, but
there are a couple of settings that require a full restart, but they are
fairly obvious:

MTA
Run As User
Run As Group
Max Children
Debug
Incoming Work Dir
Rebuild Bayes Every

As for the MailWatchLogging parts noted by Ugo - you see these because each
child process has it's own persistent connection to MySQL and pre-parsed SQL
statement to speed up the SQL INSERT's (set-up in the InitMailWatchLogging
subroutine) - and when the child is killed the EndMailWatchLogging
subroutine is called to cleanly disconnect from MySQL.

Hope this helps.

Kind regards,
Steve.

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MailScanner thanks transtec Computers for their support.



More information about the MailScanner mailing list