[ 
https://issues.apache.org/jira/browse/THRIFT-1585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13281756#comment-13281756
 ] 

Andrew Cox commented on THRIFT-1585:
------------------------------------

Can we get this patch committed? The existing code (before the patch) is broken 
in practice on OS X, and it violates a basic rules:
- it assumes the pthread implementation defines pthread_t as a type that is 
binary-compatible with uint64_t
- it makes a different declaration of the interface Thread abstraction 
interface (specifically Thread::is_current) depending on the threading 
implementation
- it exposes an implementation-specific type (pthread_t) on the interface

                
> C++ library fails to build with OS X pthread implementation
> -----------------------------------------------------------
>
>                 Key: THRIFT-1585
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1585
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: OS X 10.7, i686-apple-darwin11-llvm-gcc-4.2 resp. Apple 
> clang version 3.1
>            Reporter: David Nadlinger
>         Attachments: 
> 0001-THRIFT-1585-C-library-fails-to-build-with-OS-X-pthread.patch
>
>
> On OS X, {{pthread_t}} is {{_opaque_pthread_t*}}, but the current 
> implementation assumes that it is implicitly convertible to {{uint64_t}}.
> This yields to:
> {quote}
> src/thrift/server/TNonblockingServer.cpp: In member function 'void 
> apache::thrift::server::TNonblockingIOThread::breakLoop(bool)':
> src/thrift/server/TNonblockingServer.cpp:1433: error: invalid conversion from 
> 'uint64_t' to '_opaque_pthread_t*'
> src/thrift/server/TNonblockingServer.cpp:1433: error:   initializing argument 
> 1 of 'static bool 
> apache::thrift::concurrency::Thread::is_current(_opaque_pthread_t*)'
> {quote}

--
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

        

Reply via email to