Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-749

C++ TBufferedTransports do not flush their buffers on delete

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Trivial
    • Resolution: Cannot Reproduce
    • 0.2, 0.3
    • 0.10.0
    • C++ - Library
    • None
    • Cygwin 1.7.1 on Windows XP SP3, Thrift 0.2.0 & r760184 & Trunk

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            twilsonb Tim Wilson-Brown
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified