diff -dur -x '*~' postfix-2.2.3.orig/src/master/master.c postfix-2.2.3/src/master/master.c --- postfix-2.2.3.orig/src/master/master.c 2005-02-15 01:36:58.000000000 +0100 +++ postfix-2.2.3/src/master/master.c 2005-06-01 09:55:35.000000000 +0200 @@ -289,8 +289,8 @@ * all MTA processes cleanly. Give up if we can't separate from our * parent process. We're not supposed to blow away the parent. */ - if (debug_me == 0 && setsid() == -1) - msg_fatal("unable to set session and process group ID: %m"); + if (debug_me == 0 && setsid() == -1 && getsid(0) != getpid()) + msg_fatal("unable to set session and process group ID: %m (pid=%d, sid=%d)", (int)getpid(), (int)getsid(0)); /* * Make some room for plumbing with file descriptors. XXX This breaks