On Tue, 2009-11-17 at 08:40 -0500, Aaron Hillegass wrote:
> qpid Developers,
> 
> I'm working on client/server software.  Our users will be running a  
> client on the Mac and talking to a server on linux.  I thought it  
> would be terrific if I could use your qpid project to do this.
> 
> Everything seems to work like a dream on Linux (Nice job!), but I also  
> need to get the qpid C++ client library compiled on the Mac.

The big job which you clearly haven't got to in your compiles yet is
porting the Poller implementation. Currently there are 2 ports for the
Poller epoll for Linux and ecf for Solaris - the Solaris port is
currently broken.

I'm not sure which poll primitives are available on Darwin - if you're
lucky you might have a version of kqueue to use.

Incidentally there is essential thread specific variable use here too.

"git grep __thread" on my up to date tree returns:
qpid/cpp/include/qpid/sys/Thread.h:#  define QPID_TSS __thread
qpid/cpp/include/qpid/sys/Thread.h:#  define QPID_TSS __thread
qpid/cpp/src/qpid/sys/DeletionManager.h:        static __thread
ThreadStatus* threadStatus = 0;
qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp:    static __thread
PollerHandlePrivate* lastReturnedHandle = 0;
qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:__thread int threadReadTotal =
0;
qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:__thread int threadMaxRead = 0;
qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:__thread int threadReadCount =
0;
qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:__thread int threadWriteTotal =
0;
qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:__thread int threadWriteCount =
0;
qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp:__thread int64_t
threadMaxReadTimeNs = 2 * 1000000; // start at 2ms
qpid/cpp/src/qpid/sys/rdma/rdma_exception.h:    static __thread char
s[50];
qpid/cpp/src/qpid/sys/ssl/SslIo.cpp:__thread int threadReadTotal = 0;
qpid/cpp/src/qpid/sys/ssl/SslIo.cpp:__thread int threadMaxRead = 0;
qpid/cpp/src/qpid/sys/ssl/SslIo.cpp:__thread int threadReadCount = 0;
qpid/cpp/src/qpid/sys/ssl/SslIo.cpp:__thread int threadWriteTotal = 0;
qpid/cpp/src/qpid/sys/ssl/SslIo.cpp:__thread int threadWriteCount = 0;
qpid/cpp/src/qpid/sys/ssl/SslIo.cpp:__thread int64_t threadMaxReadTimeNs
= 2 * 1000000; // start at 2ms

Andrew



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to