This is an automated email from the ASF dual-hosted git repository.

cliffjansen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-proton.git

commit 664e436e36267ce3e7354c8de0949dacfb13d485
Author: Cliff Jansen <cjan...@redhat.com>
AuthorDate: Mon Dec 2 09:42:59 2019 -0800

    PROTON-2130: epoll proactor io bytes accounting fix for shutdown and error
---
 c/src/proactor/epoll.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c
index 1283d91..21c611f 100644
--- a/c/src/proactor/epoll.c
+++ b/c/src/proactor/epoll.c
@@ -1417,6 +1417,7 @@ static bool pconnection_write(pconnection_t *pc) {
   } else if (errno == EWOULDBLOCK) {
     pc->write_blocked = true;
   } else if (!(errno == EAGAIN || errno == EINTR)) {
+    pc->wbuf_remaining = 0;
     return false;
   }
   return true;
@@ -1586,6 +1587,7 @@ static pn_event_batch_t 
*pconnection_process(pconnection_t *pc, uint32_t events,
           pc->read_blocked = true;
       }
       else if (n == 0) {
+        pc->read_blocked = true;
         pn_connection_driver_read_close(&pc->driver);
       }
       else if (errno == EWOULDBLOCK)
@@ -1594,6 +1596,8 @@ static pn_event_batch_t 
*pconnection_process(pconnection_t *pc, uint32_t events,
         psocket_error(&pc->psocket, errno, pc->disconnected ? "disconnected" : 
"on read from");
       }
     }
+  } else {
+    pc->read_blocked = true;
   }
 
   if (tick_required) {


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

Reply via email to