We're using SpamAssassin in our own filter. We call spamd via the libspamc calls (specifically message_filter() to do the real work). Everything works fine. Now I need to figure out how to do large messages ( > 1M). I set the timeout in the "struct message" struct and it times out just fine and I can go on and do other things. However, the spamd process keeps on processing the message, chewing up CPU and, especially, memory. I can see the timeout happen, as the log file gets:
Nov 29 16:10:34 developer spamd[1803]: (child processing timeout at /usr/bin/spamd line 1246, <GEN5> line 154408. 10 minutes after it's started, but it still is processing the message since it continues printing out rules that hit. Is there some way I can tell spamd that I'm going away now and it should stop processing the message? If I let it go, it will eventually lock up my entire computer, not letting me even move the mouse. Needless to say, that won't fly for production use. So I could really use some way to tell it to give up. If the only way is to not scan messages over a certain size, I guess I'll have to live with that, but I need to be able to tell TPTB that that's how it has to be. -- Brian Bebeau Trustwave http://www.trustwave.com