You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by cl...@apache.org on 2017/04/24 06:43:58 UTC
qpid-proton git commit: PROTON-1460: epoll proactor shutdown,
wait for EOS on socket read to cleanup connection
Repository: qpid-proton
Updated Branches:
refs/heads/master 80def6f9a -> 391ec64d9
PROTON-1460: epoll proactor shutdown, wait for EOS on socket read to cleanup connection
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/391ec64d
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/391ec64d
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/391ec64d
Branch: refs/heads/master
Commit: 391ec64d92927eb93d92c3ae440dc933f215b0e6
Parents: 80def6f
Author: Clifford Jansen <cl...@apache.org>
Authored: Sun Apr 23 23:42:32 2017 -0700
Committer: Clifford Jansen <cl...@apache.org>
Committed: Sun Apr 23 23:42:32 2017 -0700
----------------------------------------------------------------------
proton-c/src/proactor/epoll.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/391ec64d/proton-c/src/proactor/epoll.c
----------------------------------------------------------------------
diff --git a/proton-c/src/proactor/epoll.c b/proton-c/src/proactor/epoll.c
index 126a7e2..7f49928 100644
--- a/proton-c/src/proactor/epoll.c
+++ b/proton-c/src/proactor/epoll.c
@@ -717,13 +717,12 @@ static inline bool pconnection_work_pending(pconnection_t *pc) {
static void pconnection_done(pconnection_t *pc) {
bool notify = false;
lock(&pc->context.mutex);
- // Is this a good time to write if not write_blocked? For now, rely on topup mechanism.
pc->context.working = false; // So we can wake() ourself if necessary. We remain the defacto
// working context while the lock is held.
pc->hog_count = 0;
if (pconnection_has_event(pc) || pconnection_work_pending(pc)) {
notify = wake(&pc->context);
- } else if (!pc->cached_event && pn_connection_driver_finished(&pc->driver)) {
+ } else if (!pc->read_closed && pn_connection_driver_finished(&pc->driver)) {
pconnection_begin_close(pc);
if (pconnection_is_final(pc)) {
unlock(&pc->context.mutex);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org