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

Reply via email to