On Thu, 26 Apr 2012 21:18:41 +0300 Török Edwin articulated: {snip}
>Its a bit more complicated than that. To ensure fast pattern-matching >the signatures are loaded into an Aho-Corasick trie for example. It >would be possible to add to the trie (thats what happens when loading >signatures), but removing is more tricky. And to determine what to >remove you need to go through all the signatures in the database >anyway. Also updating the loaded signature database would require the >scanning threads to take read locks, which would slow things down and >make updating it harder (right now the loaded signature database is >never modified, hence no locks are needed). > >It would be easier to just move reload_db to a different thread and >allow scanning with the old database during the DB reload. Then when >the DB reload is finished atomically replace the engine pointer and >free the old engine. Downside would be that you get twice the memory >usage during reload, but you don't have downtime, so this should >probably be controlled by a flag in clamd.conf. > >https://bugzilla.clamav.net/show_bug.cgi?id=790#c14 Well, with the exception of systems starved for memory to begin with, I think that would be a perfectly acceptable solution. Adding a flag in clamd.conf to disable this and use the present method would seem like a good compromise. -- Jerry ♔ Disclaimer: off-list followups get on-list replies or get ignored. Please do not ignore the Reply-To header. __________________________________________________________________ ".reh deknaht neve reven I ,wonk uoy ,dna -- knird ot em evord ohw namow a saw tI" _______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://www.clamav.net/support/ml