diff --exclude=man --exclude=html --exclude=README_FILES --exclude=.indent.pro --exclude=Makefile.in -cr /var/tmp/postfix-2.10-20120426/src/dnsblog/dnsblog.c src/dnsblog/dnsblog.c *** /var/tmp/postfix-2.10-20120426/src/dnsblog/dnsblog.c Sun Mar 13 16:14:57 2011 20120516 Workaround: apparently, FreeBSD 8.3 kqueue notifications break when a dnsblog(8) process loses an accept() race. This condition is exacerbated because postscreen closes a postscreen-to-dnsblog connection as soon as it receives the dnsblog(8) reply, resulting in 100-1000 connection requests per second. All other multi-server daemons such as anvil or proxymap have much longer connection lifetimes, ranging from 5s to 1000s depending on server load. The workaround is for dnsblog to use the single_server driver instead of the multi_server driver. This eliminates the race for accepting a connection. Problem reported by Sahil Tandon. File: dnsblog/dnsblog.c. --- src/dnsblog/dnsblog.c Wed May 16 20:38:05 2012 *************** *** 275,283 **** */ MAIL_VERSION_STAMP_ALLOCATE; ! multi_server_main(argc, argv, dnsblog_service, ! MAIL_SERVER_TIME_TABLE, time_table, ! MAIL_SERVER_POST_INIT, post_jail_init, ! MAIL_SERVER_UNLIMITED, ! 0); } --- 275,283 ---- */ MAIL_VERSION_STAMP_ALLOCATE; ! single_server_main(argc, argv, dnsblog_service, ! MAIL_SERVER_TIME_TABLE, time_table, ! MAIL_SERVER_POST_INIT, post_jail_init, ! MAIL_SERVER_UNLIMITED, ! 0); }