Mercurial > masqmail-0.2
view tests/localhost-stdin/test @ 72:ad034b57f3b2
fixed Debian bug 536060 (log files are closed after SIGHUP receival)
Explanation:
When run in daemon mode, first the log files are opened. They get
assigned to the file descriptors 3 and 4 usually. Then std{in,out,err}
are closed. When SIGHUP comes in, all open files are closes and
masqmail reexecutes itself. The new masqmail instance opens the log
files at fd 0 and 1 now, but std{in,out,err} are closed afterwards,
thus the log files are closed.
The fix is to close the log files before std{in,out,err} are closed,
in case the log files have higher fds. After std{in,out,err} were
closed, the log files get opened again, now.
See also: http://bugs.debian.org/536060
author | meillo@marmaro.de |
---|---|
date | Wed, 16 Jun 2010 10:32:20 +0200 |
parents | 0379789a847b |
children |
line wrap: on
line source
#!/bin/sh # path to the masqmail executable mm_bin=../../src/masqmail hfrom="\"Fritz Meier\" <`logname`@localhost>" hto=$hfrom to=`logname`@localhost hsubject="Masqmail test: localhost-stdin" # Testing with rcpt on cmd line # (dot does end) # # the command to be run: cmd="$mm_bin -C ./test.conf $to" $cmd <<EOF From: $hfrom To: $hto Subject: $hsubject Hallo Fritz! .. there is a dot above (Yes, one and not two). command was: $cmd Fritz . EOF # Testing with rcpt on cmd line with -oi option # (dot does not end) # # the command to be run: cmd="$mm_bin -C ./test.conf -oi $to" $cmd <<EOF From: $hfrom To: $hto Subject: $hsubject Hallo Fritz! . there is a dot above. command was: $cmd Fritz EOF # Testing with rcpt read from headers (-t option) # (dot does end) # # the command to be run: cmd="$mm_bin -C ./test.conf -t" $cmd <<EOF From: $hfrom To: $hto Subject: $hsubject Hallo Fritz! .. there is a dot above. command was: $cmd Fritz . EOF