You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Stefan Zimmermann (JIRA)" <ji...@apache.org> on 2016/12/06 22:55:58 UTC

[jira] [Created] (THRIFT-3995) error: 'boost::thread::id::id(boost::thread::id::data)' is private

Stefan Zimmermann created THRIFT-3995:
-----------------------------------------

             Summary: error: 'boost::thread::id::id(boost::thread::id::data)' is private
                 Key: THRIFT-3995
                 URL: https://issues.apache.org/jira/browse/THRIFT-3995
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
         Environment: Windows, MinGW/[MSYS2|https://msys2.github.io], GCC 6.2.0, Boost 1.62.0
            Reporter: Stefan Zimmermann
            Priority: Blocker


When compiling {{7ab125a253e5aebbf2a0ed9a0a1602a4b879eca7}} under MinGW/MSYS2 with GCC 6.2.0 and Boost 1.62.0 and some workaround for [THRIFT-3994|https://issues.apache.org/jira/browse/THRIFT-3994], the next problem occurs:

{code}
src/thrift/concurrency/PosixThreadFactory.cpp: In member function 'virtual apache::thrift::concurrency::Thread::id_t apache::thrift::concurrency::PthreadThread::getId()':
src/thrift/concurrency/PosixThreadFactory.cpp:175:26: error: 'boost::thread::id::id(boost::thread::id::data)' is private within this context
     return (Thread::id_t)pthread_;
{code}

{code}
src/thrift/concurrency/PosixThreadFactory.cpp: In member function 'virtual apache::thrift::concurrency::Thread::id_t apache::thrift::concurrency::PosixThreadFactory::getCurrentThreadId() const':
src/thrift/concurrency/PosixThreadFactory.cpp:309:37: error: 'boost::thread::id::id(boost::thread::id::data)' is private within this context
   return (Thread::id_t)pthread_self();
{code}

A quick workaround is to create a local {{pthread_t}} variable and do a {{reinterpret_cast<Thread::id_t&>(...)}} instead, but this is not a clean solution :) and raises:

{code}
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)