SpamFilter will spawn a new thread for each spam email that needs to be archived in the database. So if for example you have 50 inbound SMTP connections, and they are all for spam emails, SpamFilter will launch 50 threads to archive each email in the database.
In addition to this, if there are any *.queued files in the \SpamFilter\quarantine directory, they are emails that were queued for archival but never completed their addition to the database for any reason (database was not available, SpamFilter crashed, etc). SpamFilter processes that directory on interval () and will launch multiple threads to archive those emails in the database (one email per thread). The number of threads spawned is equal to one fourth of the limit for the maximum inbound SMTP connections. So if your limit for max inbound connections is 200, SpamFilter will use 50 threads to process the quarantine directory.
There are a handful of other processes, like checking the database for quarantined emails that need to be delivered, or to delete any old expired emails, but those are executed in a single thread.
------------- Roberto Franceschetti
http://www.logsat.com" rel="nofollow - LogSat Software
http://www.logsat.com/sfi-spam-filter.asp" rel="nofollow - Spam Filter ISP
|