You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2016/01/08 16:01:53 UTC
qpid-proton git commit: PROTON-1090: fix reactor timer pipe cleanup
to prevent 100% cpu spin
Repository: qpid-proton
Updated Branches:
refs/heads/master 7486d5b85 -> 25d39a8e9
PROTON-1090: fix reactor timer pipe cleanup to prevent 100% cpu spin
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/25d39a8e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/25d39a8e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/25d39a8e
Branch: refs/heads/master
Commit: 25d39a8e9cbf4846f23e4e58175d902924ec1a30
Parents: 7486d5b
Author: Gordon Sim <gs...@redhat.com>
Authored: Fri Jan 8 10:01:37 2016 -0500
Committer: Ken Giusti <kg...@apache.org>
Committed: Fri Jan 8 10:01:37 2016 -0500
----------------------------------------------------------------------
proton-c/src/reactor/reactor.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/25d39a8e/proton-c/src/reactor/reactor.c
----------------------------------------------------------------------
diff --git a/proton-c/src/reactor/reactor.c b/proton-c/src/reactor/reactor.c
index 6b328bc..7ea279b 100644
--- a/proton-c/src/reactor/reactor.c
+++ b/proton-c/src/reactor/reactor.c
@@ -443,7 +443,15 @@ static void pni_timer_readable(pn_selectable_t *sel) {
static void pni_timer_finalize(pn_selectable_t *sel) {
pn_reactor_t *reactor = pni_reactor(sel);
- pn_close(reactor->io, pn_selectable_get_fd(sel));
+ pn_socket_t fd = pn_selectable_get_fd(sel);
+ if (fd == reactor->wakeup[0]) {
+ for (int i = 0; i < 2; i++) {
+ if (reactor->wakeup[i] != PN_INVALID_SOCKET) {
+ pn_close(reactor->io, reactor->wakeup[i]);
+ reactor->wakeup[i] = PN_INVALID_SOCKET;
+ }
+ }
+ }
}
pn_selectable_t *pni_timer_selectable(pn_reactor_t *reactor) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org