Hi all, As of version 0.90, clamd daemonizes before it loads the databases, creates the socket and begins accepting connections. Unfortunately, as the databases grow, clamd can take quite a while to initialise (I've seen upwards of 65 seconds on some slower or loaded systems). This causes problems for programs that rely on clamd being ready to accept connections. In order to ensure that clamd is fully initialised, it must be started and then one must continually check for the presence of the clamd socket file, which is not a particularly efficient or reliable solution. In 0.8x, this was not an issue because clamd did not daemonise until after database initialisation. Thus, one could simply wait for clamd to return (due to forking) and assume it was fully initialised.
The issue is also described here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=427154 although a different solution is proposed. I have patched 0.90.3 to daemonise just before entering the socket accept loop. I am posting here rather than opening a bug in Bugzilla because I am uncertain as to whether this is considered a bug. This behaviour was probably changed for a reason and I am curious as to the reason. I will file a bug subject to responses from developers. Thanks for such a wonderful project. Jamie Scanned by the NetBox from NetBox Blue (http://netboxblue.com/) _______________________________________________ http://lurker.clamav.net/list/clamav-devel.html Please submit your patches to our Bugzilla: http://bugs.clamav.net
