You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Peace C (Updated) (JIRA)" <ji...@apache.org> on 2011/11/14 22:49:52 UTC

[jira] [Updated] (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 ]

Peace C updated THRIFT-1387:
----------------------------

    Attachment: THRIFT-1387_PDB.patch

Minor patch for the VS projects to generate appropriately named PDB files to aid in debugging. Previously the generated PDB files for each project were both named vc100.pdb, causing one to stomp on the other and making it difficult to tell which PDB belonged to which project build.
                
> 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