> 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]