> Nanno Langstraat wrote:
> >    * Remote side completely closes its socket.

> This causes read()=0 and write()=-1/EPIPE on the local side.
>
>
>
> >    * Our TCP proxy gets read()==0 on the TCP socket.
> >
> >    * In response, our proxy does shutdown(WR) on the local drain file
> >      descriptor (the other side of the proxy).
> >      This propagates the "read()==0" event to the local endpoint
> >      process that we're being a proxy for.
>
> Why are you doing a shutdown(WR) in response to a read()=0 ?  Euh!

Since you can no longer read form one end, you can no longer write to the
other, assuming you have no data buffered.

> If you know you have an end-of-stream condition in the read side of your
> socket and then you issue a shutdown(WR) the only remaining action after
> this is to close().

Did you miss the "on the local drain file descriptor" part?

DS


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to