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:[email protected]
