Hello, I'm working with C++ Thrift and I'm using TThreadedServer with TBinaryProtocolFactory and TBufferedTransportFactory. When a new connection is received in accept, a task is created and executed as a runnable. When the connection with the client is broken for some reason (I don't know whether it received a RST but I suppose so), the following line makes the thread die:
!input_->getTransport()->peek() I found the problem occurs inside TBufferTransports.h in method bool peek() in the following line: setReadBuffer(rBuf_.get(), transport_->read(rBuf_.get(), rBufSize_)); I suppose this is because the thread is getting a broken pipe signal that is not properly handled but I would like to ask the list whether this makes sense and how this could be solved. Thanks, Rodolfo
