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]
