You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Roger Meier (Resolved) (JIRA)" <ji...@apache.org> on 2011/11/16 20:16:52 UTC

[jira] [Resolved] (THRIFT-1387) Build MSVC libraries with Boost Threads instead of Pthreads

     [ https://issues.apache.org/jira/browse/THRIFT-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roger Meier resolved THRIFT-1387.
---------------------------------

    Resolution: Fixed

Thanks Peace!
pdb patch committed!
                
> Build MSVC libraries with Boost Threads instead of Pthreads
> -----------------------------------------------------------
>
>                 Key: THRIFT-1387
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1387
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>    Affects Versions: 0.8
>         Environment: Windows - Visual Studio
>            Reporter: Peace C
>            Assignee: alexandre parenteau
>            Priority: Minor
>              Labels: boost, msvc, pthreads, studio, threads, visual, windows
>             Fix For: 0.8
>
>         Attachments: THRIFT-1387_BoostThreadsWin.patch, THRIFT-1387_BoostThreadsWin_v2.patch, THRIFT-1387_PDB.patch
>
>
> This patch is based on Alex's Boost threads patch (THRIFT-1361) and adds support in the MSVC project to build with Boost threads instead of Pthreads. The option is configurable using "#define HAVE_PTHREAD_H" in thrift/lib/cpp/src/windows/config.h (default is to build using Boost threads). In order to support building either way, I wrapped #if(n)def USE_BOOST_THREAD around Monitor.cpp, Mutex.cpp, PosixThreadFactory.cpp and their analogous Boost versions (BoostMonitor.cpp, BoostMutex.cpp, BoostThreadFactory.cpp).
> Remember that any code calling errno should add force_inc.h to the project's Force Include list. This tripped me up in TNonblockingServer.cpp when errno would always return 0.  Using the project properties is more opaque but we can't add force_inc.h to config.h because any project using the thrift library will get the forced redefinitions (not good if the app expects the MS SDK definitions). 
> I also adjusted the thrift library projects to generate appropriately named pdb files. They were defaulting to vc100.pdb, causing one project's build to stomp over the other's pdb.
> The patch was created using TortoiseHg workbench. Please notify me if the format isn't compatible with the Thrift team's patch tool and I will modify the patch accordingly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira