Always call setsid, even when we're not daemonizing.

>> However, I'm back to seeing the connection processes being left behind,
>> despite an explicit quit from the remote host.
> It looks to me as though qpsmtpd should have started a new process
> group with the parent process, but hasn't. Or the developer assumed
> that qpsmtpd would be set up as leader of a process group, but it
> isn't in this circumstance.

Signed-off-by: Robert <rspier@pobox.com>
This commit is contained in:
Charlie Brady 2009-06-02 00:11:33 -07:00 committed by Ask Bjørn Hansen
parent 8527f784c0
commit 75decb184b
2 changed files with 3 additions and 1 deletions

View File

@ -1,5 +1,7 @@
X.YY - Date X.YY - Date
prefork: Fix problem with processes sometimes being "left behind" (Charlie Brady)
prefork: Fix startup when no interface addresses are specified (Devin Carraway) prefork: Fix startup when no interface addresses are specified (Devin Carraway)
prefork: add multi-address support prefork: add multi-address support

View File

@ -291,8 +291,8 @@ sub run {
open STDERR, '>&STDOUT' or die "open(stderr): $!"; open STDERR, '>&STDOUT' or die "open(stderr): $!";
defined (my $pid = fork) or die "fork: $!"; defined (my $pid = fork) or die "fork: $!";
exit 0 if $pid; exit 0 if $pid;
POSIX::setsid or die "setsid: $!";
} }
POSIX::setsid or die "setsid: $!";
if ($pid_file) { if ($pid_file) {
print PID $$,"\n"; print PID $$,"\n";