thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kohn, Rodolfo" <rodolfo.k...@intel.com>
Subject Thread dies in TThreadedServer task
Date Tue, 03 Jun 2014 22:44:07 GMT
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






Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message