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

after transport->open() throws its internal state set to "open", as result isOpen returs true and next open() goes thru when it shall not

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 0.9
    • 0.9.3
    • C++ - Library
    • None

    Description

      Title tells it all.

      m_rmt_socket = boost::shared_ptr<apache::thrift::transport::TSocket>
             (new apache::thrift::transport::TSocket(m_rmt_socket_path));
      
      m_rmt_transport = boost::shared_ptr<apache::thrift::transport::TTransport>
          (new apache::thrift::transport::TBufferedTransport(m_rmt_socket));
      
      m_rmt_protocol  = boost::shared_ptr<apache::thrift::protocol::TProtocol>
          (new apache::thrift::protocol::TBinaryProtocol(m_rmt_transport));
      

      I use Unix Domain sockets.

      Workaround: once thrown by transport->open exception is caught call transport->close and then you can call transport->open again safely

      Attachments

        Activity

          People

            jking3 James E. King III
            curoles Igor Lesik
            Votes:
            0 Vote for this issue
            Watchers:
            2 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