qmail-inject closes pipe before vdelivermail has finished sending.

Netbeans <[email protected]> Thu, 31 Jan 2013 17:25:57 -0500
Newsgroups gmane.mail.vpopmail
Message-ID <[email protected]>
this causes a sigpipe error in vdelivermail, and gets feed back into 
qmail-inject as a signal 13 ( sigpipe ). The causes qmail-inject to 
think that the child ( vdelivermail ) crashed.

the bad email file has this: > Received: (qmail 3973 invoked by uid 
508); 30 Jan 2013 21:11:26 -0000
> Received: from c-68-41-19-219.hsd1.mi.comcast.net (68.41.19.219)
>   by mail.gatworks.com with SMTP; 30 Jan 2013 21:11:26 -0000
> Received: from apache by anbid.com.br with local (Exim 4.67)
>         (envelope-from <[email protected]>)
>         id 87QGEX-U87LUI-QI
>         for <[email protected]>
> Cc: <[email protected]>; Wed, 30 Jan 2013 16:11:25 -0500
> To: <[email protected]>
> Cc: <[email protected]>
> Subject: Case #52932381
> X-PHP-Script: anbid.com.br/sendmail.php for 68.41.19.219
> From: "Better Business Bureau" <[email protected]>
> X-Sender: "Better Business Bureau" <[email protected]>
> X-Mailer: PHP
> X-Priority: 1
> MIME-Version: 1.0
> Content-Type: multipart/alternative;

in the qmail log file:
> deferral: qmail-inject:_fatal:_unable_to_parse_this_line:/Cc:_<[email protected]>;_Wed,_30_Jan_2013_16:11:25_-0500/Aack,_child_crashed._(#4.3.0)/

Apparently qmail-inject stops processing the input file ( via pipe from 
vdelivermail:435 if ( write(write_fd, msgbuf, file_count) == -1 )) at 
the bogus line that cant be parsed any further.
Once the pipe is closed by qmail-inject, any further writes will get a 
sig-pipe error, and the process ( vdelivermail ) will die, as the signal 
processing is set to default ( ie terminate process ).

Somehow, qmail-inject has to process the rest of the file, even if there 
are parse errors, or vdelivermail has to recognize that a pipe can 
suddenly close up.


!DSPAM:510ad44c34141883472779!