diff options
| author | Andrew Stitcher <astitcher@apache.org> | 2009-06-01 22:30:24 +0000 |
|---|---|---|
| committer | Andrew Stitcher <astitcher@apache.org> | 2009-06-01 22:30:24 +0000 |
| commit | 31cdbb90eb2bef73d8a8e9ae2e68f771683a7ce1 (patch) | |
| tree | 9b9bc229cef21d02aaed68325a030fa55b9669cb /cpp/src/qpid/sys/epoll | |
| parent | 20a83ba3acd18fffdf20785ef8c39fb6c1997143 (diff) | |
| download | qpid-python-31cdbb90eb2bef73d8a8e9ae2e68f771683a7ce1.tar.gz | |
Some fixes to QPID-1879 so that clustering still works:
Change client io threading to be initialised at first use
Stop linking loadable modules with tests
Add some sentinel values so that we can see what happened last
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@780855 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/epoll')
| -rw-r--r-- | cpp/src/qpid/sys/epoll/EpollPoller.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cpp/src/qpid/sys/epoll/EpollPoller.cpp b/cpp/src/qpid/sys/epoll/EpollPoller.cpp index 42a2b2bbab..5a6b8987ec 100644 --- a/cpp/src/qpid/sys/epoll/EpollPoller.cpp +++ b/cpp/src/qpid/sys/epoll/EpollPoller.cpp @@ -258,7 +258,7 @@ class PollerPrivate { // Add always readable fd into our set (but not listening to it yet) ::epoll_event epe; epe.events = 0; - epe.data.u64 = 0; + epe.data.u64 = 1; QPID_POSIX_CHECK(::epoll_ctl(epollFd, EPOLL_CTL_ADD, alwaysReadableFd, &epe)); } @@ -285,7 +285,7 @@ class PollerPrivate { ::epoll_event epe; // Not EPOLLONESHOT, so we eventually get all threads epe.events = ::EPOLLIN; - epe.data.u64 = 0; // Keep valgrind happy + epe.data.u64 = 2; // Keep valgrind happy QPID_POSIX_CHECK(::epoll_ctl(epollFd, EPOLL_CTL_MOD, alwaysReadableFd, &epe)); } }; @@ -442,6 +442,7 @@ bool Poller::interrupt(PollerHandle& handle) { ::epoll_event epe; epe.events = 0; epe.data.u64 = 0; // Keep valgrind happy + epe.data.ptr = &eh; QPID_POSIX_CHECK(::epoll_ctl(impl->epollFd, EPOLL_CTL_MOD, eh.fd, &epe)); if (eh.isInactive()) { |
