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