On Fri, Feb 16, 2007 at 03:04:42PM +0000, Ian Abbott said: > On 16/02/2007 13:51, James Kosin wrote: > >Ian Abbott wrote: > >>On 14/02/2007 20:09, Rick Pim wrote: > >>> it's true; if i start clamd and then check, the clamd socket isn't > >>> there. but if i leave clamd alone for a few seconds the socket > >>> appears and clamav-milter starts happily after that. i've tucked > >>> a "sleep 30" into the startup script and things seem happy. is > >>> there anything obvious i'm missing? > >>That will be because it forks before reading the database (which > >>causes the delay) and before creating the sockets. I.e. the initial > >>process exits before everything is ready. > >> > >>Maybe it would be better if it forked after creating the sockets. > >> > >No, because then you would have two active sockets and a replicated > >database per instance (fork). > >Not good practice, unless you really want the results. > > I can't think of any bad results in this case. The initial (parent) > process just calls exit() straight after the fork() (a standard > daemonization technique), closing all the duplicated file handles. > Although the sum of the process images is larger if the fork is > performed after loading the database, it's not that expensive assuming > fork() uses a copy-on-write paging mechanism; it just uses more page > table entries for an instant.
What would be the point of having a socket ready before clamd is ready to do any work? Maybe I'm missing something. -- -------------------------------------------------------------------------- | Stephen Gran | You are only young once, but you can | | [EMAIL PROTECTED] | stay immature indefinitely. | | http://www.lobefin.net/~steve | | --------------------------------------------------------------------------
signature.asc
Description: Digital signature
_______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://lurker.clamav.net/list/clamav-users.html
