handle multiple %v parameters
introduce poll_fds that also does the read into a buffer
introduce thrmgr_group* commands for keeping track of groups of commands
(multiscan, IDSESSION)
introduce 2 queues in thrmgr, multiscan queues get lower priority. Commands
are processed from both queues in a 4:1 ratio to avoid starvation.
unify reply code: conn_reply*
unify scanner code into scan_callback that is called from cli_ftw
multiscan doesn't need stat() now if readdir() provides dt_type
redesign clamd main loop: there is now an accept thread, and a
recv()/dispatch thread, +MaxThreads worker (scanner) threads.
introduce limiting on commands when worker threads are contended.
introduce IDSESSION, a replacement for the old SESSION command, that allows
asyncronous (scan) commands and scan replies
introduce INSTREAM that allows sending the data to scan on same connection
(vs STREAM that requires another port)
introduce zCOMMANDS
git-svn: trunk@4755
Various other work on recursion, unified scan, etc.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4635 77e5149b-7576-45b1-b177-96237e5ba77b
If select/poll fails for reason other than EINTR, make that error fatal.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4623 77e5149b-7576-45b1-b177-96237e5ba77b