[
https://issues.apache.org/jira/browse/THRIFT-749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12852702#action_12852702
]
David Reiss commented on THRIFT-749:
------------------------------------
What's the problem with not guaranteeing that wBuf_ data is sent on to the
underlying transport without an explicit flush?
> C++ TBufferedTransports do not flush their buffers on delete
> ------------------------------------------------------------
>
> Key: THRIFT-749
> URL: https://issues.apache.org/jira/browse/THRIFT-749
> Project: Thrift
> Issue Type: Bug
> Components: Library (C++)
> Affects Versions: 0.2, 0.3
> Environment: Cygwin 1.7.1 on Windows XP SP3, Thrift 0.2.0 & r760184 &
> Trunk
> Reporter: Tim Wilson-Brown
> Priority: Trivial
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> Edit: replaced 'close underlying transport' with 'flush buffers'
> The C++ TBufferedTransports (such as TBufferedTransport) do not flush their
> buffers on delete.
> The workaround is to manually flush the TBufferedTransport before deleting
> it. If the TBufferedTransport owned the last instance of the underlying
> transport, it will be deleted and close itself.
> This may be worth fixing - at the moment, substituting a buffered TSocket for
> an unbuffered one changes the behaviour on delete.
> Data may be buffered then lost when the TBufferedTransport is deleted.
> This is undesirable - they should behave identically except for the
> buffering.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.