Good evening, version: libmilter - sendmail-8.14.2 clamav-milter - clamav-0.91.2
If you configure libmilter library with using poll() rather than select() and use workers pool you might hit problem related with locking up your clamav-milter. To reproduce this kind of behavior you should ran clamav-milter in 32 bit mode, lower max-children and set timeout to some rather high value. When number of simultaneous connections exceed max children then every new connection will equal one thread. Going step further, when threads allocate all virtual memory available for clamav-milter workers from libmilter will not have space to execute (clamav-milter: LAUNCH_WORKER error: Cannot allocate memory). Daemon clamav-milter will not answer with temporary error but will keep going with blocking threads/connections. How to solve this kind of problem? Does not clamav-milter is prepare for workers from libmilter? Most interesing is how to limit clamav-milter's resource based on thre- ads. In described situation number of threads are not equal number of connections, limiting it with dont-wait threads is not a good idea. Maybe there is a way to limit numbers of threads that workers can consume? Best regards, Ernest Wypierowski _______________________________________________ Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net http://lurker.clamav.net/list/clamav-users.html
