[ https://issues.apache.org/jira/browse/THRIFT-96?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637653#action_12637653 ]
David Reiss commented on THRIFT-96: ----------------------------------- peek is still virtual, right? I think we should just keep the original version of peek defined in TBufferedTransport and leave the current version as the default in TUnderlying. What do you guys think? > TSocket.peek fails on FreeBSD > ----------------------------- > > Key: THRIFT-96 > URL: https://issues.apache.org/jira/browse/THRIFT-96 > Project: Thrift > Issue Type: Bug > Components: Library (C++) > Environment: FreeBSD > Reporter: Alexander Shigin > Attachments: thrift-freebsd-read.patch, thrift-peek-fix.patch, > thrift-peek-fix.patch > > > POSIX says what recv(2) should returns 0 if peer has performed a shutdown. > This feature uses in TBufferedTransport > {code} > bool peek() { > if (rBase_ == rBound_) { > setReadBuffer(rBuf_.get(), transport_->read(rBuf_.get(), rBufSize_)); > } > return (rBound_ > rBase_); > } > {code} > The decision works fine on linux, but fails on freebsd. In freebsd, recv > returns -1 and errno==ECONNRESET. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.