You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2018/07/03 22:14:08 UTC

[79/89] [abbrv] qpid-proton git commit: PROTON-1842: epoll driver cleanup needs memory barrier on parallel socket rearm

PROTON-1842: epoll driver cleanup needs memory barrier on parallel socket rearm


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/1315f263
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/1315f263
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/1315f263

Branch: refs/heads/go1
Commit: 1315f263823386f2a13767e16882d4da48329901
Parents: cd2783f
Author: Clifford Jansen <cl...@apache.org>
Authored: Sun May 13 18:05:40 2018 -0700
Committer: Clifford Jansen <cl...@apache.org>
Committed: Sun May 13 18:05:40 2018 -0700

----------------------------------------------------------------------
 c/src/proactor/epoll.c | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1315f263/c/src/proactor/epoll.c
----------------------------------------------------------------------
diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c
index f77fca9..d1e9820 100644
--- a/c/src/proactor/epoll.c
+++ b/c/src/proactor/epoll.c
@@ -846,6 +846,8 @@ static void pconnection_cleanup(pconnection_t *pc) {
 
 // Call with lock held or from forced_shutdown
 static void pconnection_begin_close(pconnection_t *pc) {
+  lock(&pc->rearm_mutex);
+  unlock(&pc->rearm_mutex);  // Allow parallel pconnection_rearm() to complete
   if (!pc->context.closing) {
     pc->context.closing = true;
     if (pc->current_arm != 0 && !pc->new_events) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org