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]