On Tue, 2 Feb 1999, Elliot Finley wrote:
> while (1) {
> unless (-p $FIFO) {
> unlink $FIFO;
> system('mkfifo', $FIFO)
> && die "can't mkfifo $FIFO: $!";
> }
>
> # next line blocks until there's a reader
> open (FIFO, "> $FIFO") || die "can't write $FIFO: $!";
> ip_out();
> close FIFO;
> sleep 2; # to avoid dup signals
> }
What happens if the calling Exim doesn't actually read all the data you
write to the pipe? Doesn't the next caller get it by mistake?
What happens if two Exims open the pipe for reading at the same time?
Doesn't each of them get half the data?
Or don't I understand named pipes?
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***