On Mon, Dec 01, 2008 at 03:25:00PM -0500, Wietse Venema wrote:

> >     /*
> >      * Don't bother checking the syntax.
> >      */
> >     smtpd_chat_reply(state, "221 2.0.0 Bye");
> > 
> >     /*
> >      * When the "." and quit replies are pipelined, make sure they are
> >      * flushed now, to avoid repeated mail deliveries in case of a crash in
> >      * the "clean up before disconnect" code.
> >      *
> >      * XXX When this was added in Postfix 2.1 we used vstream_fflush(). As
> >      * of Postfix 2.3 we use smtp_flush() for better error reporting.
> >      */
> >     smtp_flush(state->client);
> > 
> > perhaps the flush should be suppressed if there was no pending unwritten
> > data in the client vstream buffer prior to the "221 2.0.0 Bye" reply.
> 
> Postfix has a vstream_peek() function to count the amount of buffered
> input, but there is as of yet no API to count the amount of buffered
> output. 
> 
> I am not sure it is safe to overload vstream_peek() for this purpose,
> because that would break with full-duplex VSTREAMs when the last
> operation on the VSTREAM was a write.

I agree that it is not safe to overload vstream_peek(), we need a new
vstream feature to make this possible. Perhaps:

    /*
     * Number of unwritten application data bytes held in a vstream
     * buffer. Note, these may translate a diffent number of bytes
     * ultimately written to the network or a file, if the physical
     * I/O involves encryption, compression or other transformations.
     */
    int vstream_unwritten(VSTREAM *);

-- 
        Viktor.

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the "Reply-To" header.

To unsubscribe from the postfix-users list, visit
http://www.postfix.org/lists.html or click the link below:
<mailto:[EMAIL PROTECTED]>

If my response solves your problem, the best way to thank me is to not
send an "it worked, thanks" follow-up. If you must respond, please put
"It worked, thanks" in the "Subject" so I can delete these quickly.

Reply via email to