qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Stitcher <astitc...@redhat.com>
Subject Re: qpid-0.6 thread specific storage fix
Date Wed, 07 Apr 2010 02:38:56 GMT
On Mon, 2010-04-05 at 13:13 +0400, Dmitry Utkin wrote:
> Hello.
> 
> Sorry for my bad english.
> 
> 
> 
> 
> I wrote patch that fixes problem with thread specific storage on
> linux, when compiler lacks __thread support.

Can you elucidate your environment a bit here? What compiler are you
using under Linux like that? In theory we only support gcc 3 and 4
versions (and I think 3 support is getting a little long in the tooth
myself). 

Both gcc 3 and 4 support the __thread keyword which is gcc specific. I
agree that not all platform libraries support it including apparently
OSX, but I'm not aware of any versions of glibc that don't (recently).

> 
> 
> 
> I think this patch can fix issue "thread-local storage prevents build
> on Mac":
> 
> http://issues.apache.org/jira/browse/QPID-2206
> 
> this patch also fixes QPID problem when running broker or any client
> with linux kernels prior to 2.6.9:

The part of your patch that alters the epoll_ctl() parameters for this
looks completely uncontroversial, perhaps you could create a new jira
with just this change attached so that it could go in directly, as it
doesn't seem connected to the QPID-2206 threading issue.

> 
> 2010-04-02 18:09:40 error IO worker thread exiting with unhandled
> exception: Bad address (qpid/sys/epoll/EpollPoller.cpp:327)
> 
> 
> Patch is attached.
> 
> 
> To apply this patch use(after unpacking patch):
> patch -p1 -d qpidc-0.6 <qpidc-0.6-notls.patch
> 
> 
> 
> To compile qpid without __thread support:
> make CXXFLAGS=-DQPID_NO_TSS=1

If we're going down this route then it must be detected by the configure
phase of the build system. Having the builder specify this on the make
line isn't acceptable,

Andrew




---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message