On Thu 08/Jan/2015 23:51:56 +0100 Jeff Potter wrote: > 4. After start, pythonfilter is not started — 'filterctl start pythonfilter' > fails to bring it up with this: > filterctl start pythonfilter > ln: creating symbolic link `/etc/courier/filters/active/pythonfilter' > to `/usr/lib/courier/libexec/filters/pythonfilter': File exists
filterctl is used once to install a filter. Thereafter, it can be used again to uninstall it. You need to stop it before you can start it again. The difference vs. courierfilter is that the latter makes Courier bounce messages with "432 Mail filters temporarily unavailable." On Fri 09/Jan/2015 01:25:16 +0100 Sam Varshavchik wrote: > You're not really missing anything. It's really the filter's responsibility to > wind down its business, once it gets the signal to do so. For my part, I just fixed a race condition bug. It was the opposite of what Jeff complains; that is, sometimes the filter terminated without being asked to, thus forcing Courier into 432-mode. http://www.tana.it/sw/avfilter/ http://www.tana.it/sw/zdkimfilter/ > Currently, the shutdown code just gives up, after a timeout, in this manner. I > do agree that an attempt should be made to kill all processes, after a > reasonable timeout, so it's something that I need to look at. To kill by pid is going to be difficult for forked filters. I issue a call kill(0, SIGTERM) when the pipe is closed, but I had previously called setsid(). SIGTERM (15) should suffice to quickly exit; SIGKILL (9) is what I'd call "overkill". It seems several users issue `killall -9 ...`. It shouldn't be needed, and I'd expect some kind of bug report if runaway children refuse to exit, please. I suggest to amend courierfilter's man page, where it says: All mail filters also inherit a pipe on standard input, and must terminate when the pipe is closed. Mail filters must simultaneously listen for new connections on the mail filter socket, and for their standard input to close. It could say something more pressing, for example like so: All mail filters also inherit a pipe on standard input, and must terminate when the pipe is closed, possibly aborting the current message --Courier will issue a temporary 4xx bounce in that case. Mail filters must simultaneously listen for new connections on the mail filter socket, and for their standard input to close. Ale -- ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ courier-users mailing list courier-users@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users