Nadilson Ferreira created QPID-4279:
---------------------------------------

             Summary: Mac OS X thread local storage
                 Key: QPID-4279
                 URL: https://issues.apache.org/jira/browse/QPID-4279
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker
    Affects Versions: 0.18
         Environment: Mac OS X
            Reporter: Nadilson Ferreira


Historically, Mac OS X uses the Mach-O executable format, which does not 
support thread local storage data section found on most operating systems using 
ELF executable format (here is how ELF handles thread local storage as 
documented by Ulrich Drepper). If you try to compile a program using __thread 
modifier, you'd get the following error.

error: thread-local storage not supported for this target

The following URL 
http://lifecs.likai.org/2010/05/mac-os-x-thread-local-storage.html provides a 
good solution for the problem.

Notice also that the file include/qpid/sys/Thread.h defines a macro to handle 
the thread local mechanism. Nevertheless some files are not using the macro but 
using the __thread instead. 

Affected files:
+ src/qpid/sys/posix/AsynchIO.cpp
+ src/qpid/sys/DeletionManager.h
+ src/qpid/sys/epoll/EpollPoller.cpp
+ src/qpid/sys/posix/PosixPoller.cpp
+ src/qpid/sys/rdma/rdma_exception.h
+ src/qpid/sys/ssl/SslIo.cpp
+ src/qpid/management/ManagementObject.cpp
+ src/qpid/management/ManagementAgent.cpp
+ src/qpid/sys/ClusterSafe.cpp

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to