Vernon A. Fort: > using versions 2.8-20100913 and 2.8-20100915 - when i shutdown postfix, > i sometimes (more often that not) see the postscreen daemon hanging out > around 10 seconds after the master process terminates. Same results on > two different machines (intel/amd).
postscreen cannot be terminated immediately by "postfix stop" as that would corrupt the database and you would never receive mail anymore. When you run an experimental release, then you must accept that not all the features are finished. Currently, postscreen does not distinguish between "postfix stop" and "postfix reload". It always goes into the background, waits until all existing clients close the connection, and then exits. Fixing the "restart" may be as simple as closing the listen socket when postscreen goes off into the background. At least that seems to work with FreeBSD 8. You can try this on your own system. *** ./event_server.c- Fri Sep 10 11:22:11 2010 --- ./event_server.c Thu Sep 16 17:18:01 2010 *************** *** 295,302 **** case 0: (void) msg_cleanup((MSG_CLEANUP_FN) 0); event_fork(); ! for (fd = MASTER_LISTEN_FD; fd < MASTER_LISTEN_FD + socket_count; fd++) event_disable_readwrite(fd); var_use_limit = 1; return (0); /* Let the master start a new process. */ --- 295,304 ---- case 0: (void) msg_cleanup((MSG_CLEANUP_FN) 0); event_fork(); ! for (fd = MASTER_LISTEN_FD; fd < MASTER_LISTEN_FD + socket_count; fd++) { event_disable_readwrite(fd); + (void) close(fd); + } var_use_limit = 1; return (0); /* Let the master start a new process. */ > This is only a problem when i do a /etc/init.d/postfix restart. It's > likely a problem with the rc scripts (gentoo here) but i thought i would > post this observation anyway. The "restart" feature is added by your OS distribution, so I can't promise that it will ever be a supported feature. Wietse