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

Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9
    • 0.9
    • C++ - Library
    • Linux, Windows

    • Patch Available

    Description

      Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.

      Included in this patch:

      • Add more HAVE_CONFIG_H includes
      • Replace PosixThreadFactory by PlatformThreadFactory where appropriate
      • Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
      • Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
      • Restore back more portable evutil_socketpair (in place of pipe, for Windows)
      • Add evutil_make_socket_nonblocking (as of THRIFT-1442)

      Also included (minor):

      • Add x64 target to VisualC++ compiler
      • Fix minor glitch in bison/compiler for VisualC++
      • Remove more VisualC++ warnings

      This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

      Attachments

        1. THRIFT_1461.patch
          20 kB
          alexandre parenteau
        2. THRIFT-1461-2.txt
          21 kB
          alexandre parenteau

        Activity

          People

            aubonbeurre alexandre parenteau
            aubonbeurre alexandre parenteau
            Votes:
            0 Vote for this issue
            Watchers:
            0 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