On Fri, 21 Oct 2005, Daniel Tiefnig wrote:

> 2005-10-21 14:05:48 socket bind() to port 1225 for address (any IPv4)
> failed: Address already in use: waiting 30s before trying again (9 more
> tries)
> 2005-10-21 14:06:18 exim x.yz daemon started: pid=5956, no queue runs,
> listening for SMTP on port 1225 (IPv4)
> 
> There is a small race condition caused by a subtle bug in the
> "killdaemon" command of "runtest". It says:
> 
> | close DAEMONCMD;   # Waits for process
> 
> This is actually not completely true. It's correct, that close also
> waits for the child process to finish after the pipe was closed, but as
> exim double-forks after execution, close waits for e.g. PID 9920, while
> exim allready has PID 9922. A simple fix would be:

The solution to this is for the tests to use -bdf instead of -bd when 
running a daemon. That stops the daemon from double-forking, even when 
-d isn't in use. I have modified the runtest script to force -bd to 
become -bdf.

-- 
Philip Hazel            University of Cambridge Computing Service,
[EMAIL PROTECTED]      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to