This is an automated email from the ASF dual-hosted git repository. cliffjansen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-proton.git
The following commit(s) were added to refs/heads/main by this push: new f734e9e PROTON-2362: epoll proactor - handle connection wake and listener close before task setup complete f734e9e is described below commit f734e9ea41ff39d23a489090c04851f2ccd3e187 Author: Cliff Jansen <cliffjan...@apache.org> AuthorDate: Mon Dec 20 09:29:47 2021 -0800 PROTON-2362: epoll proactor - handle connection wake and listener close before task setup complete --- c/src/proactor/epoll.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c index 2f491ca..6ad043f 100644 --- a/c/src/proactor/epoll.c +++ b/c/src/proactor/epoll.c @@ -965,7 +965,7 @@ static inline bool pconnection_wclosed(pconnection_t *pc) { close/shutdown. Let read()/write() return 0 or -1 to trigger cleanup logic. */ static int pconnection_rearm_check(pconnection_t *pc) { - if (pconnection_rclosed(pc) && pconnection_wclosed(pc)) { + if ((pconnection_rclosed(pc) && pconnection_wclosed(pc)) || pc->psocket.epoll_io.fd == -1) { return 0; } uint32_t wanted_now = (pc->read_blocked && !pconnection_rclosed(pc)) ? EPOLLIN : 0; @@ -1652,7 +1652,7 @@ static void listener_begin_close(pn_listener_t* l) { void pn_listener_close(pn_listener_t* l) { bool notify = false; lock(&l->task.mutex); - if (!l->task.closing) { + if (l->task.proactor && !l->task.closing) { listener_begin_close(l); notify = schedule(&l->task); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org