On Sun, Oct 14, 2007 at 08:59:58AM -0700, Daniel Burrows wrote:
>   My efforts to fix maildrop have not been successful.
> 
>   However, I have a workaround for anyone else who hits this.  It may
> be obvious to everyone but me, but it took me a while to think of!
> 
>   Instead of writing:
> 
> cc "|/my/crazy/mail/filter"
> 
>   write:
> 
> cc "|/my/crazy/mail/filter && cat > /dev/null"
> 
>   Tada!  No more delivery failures.

Which reminds me. You mentioned the FormatMbox::DeliverTo() method which,
through a series of convoluted method/function invocations :) discards the
EPIPE from write(2), which is obviously evil in this case, but these
symptoms point to something being wrong with the standard fds.

When maildrop/deliver.C goes to run /my/crazy/mail/filter, it first
forks a child process which does several stdin and stdout modifications,
runs the filter through a shell, and afterwards again does some more
stdin and stdout munging.

It's late Sunday night in my time zone so right now I don't have the mental
power to go and debug this fully :) but it sounds like the forking and the
related fd munging might have something to do with it.

-- 
     2. That which causes joy or happiness.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to