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 2017/02/23 22:51:36 UTC

[29/38] qpid-proton git commit: PROTON-1403: C libuv proactor was not delivering interrupts correctly

PROTON-1403: C libuv proactor was not delivering interrupts correctly


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

Branch: refs/heads/go1
Commit: 6b6dd86990be06ec10d0abc94a55b63b565287c6
Parents: 31a3c99
Author: Alan Conway <ac...@redhat.com>
Authored: Mon Feb 20 13:29:40 2017 -0500
Committer: Alan Conway <ac...@redhat.com>
Committed: Mon Feb 20 15:12:34 2017 -0500

----------------------------------------------------------------------
 proton-c/src/proactor/libuv.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/6b6dd869/proton-c/src/proactor/libuv.c
----------------------------------------------------------------------
diff --git a/proton-c/src/proactor/libuv.c b/proton-c/src/proactor/libuv.c
index d2badbe..c7322cd 100644
--- a/proton-c/src/proactor/libuv.c
+++ b/proton-c/src/proactor/libuv.c
@@ -71,7 +71,6 @@
   of the uv_tcp_t handle, and executed in an on_close() handler when it is safe.
 */
 
-const char *COND_NAME = "proactor";
 const char *AMQP_PORT = "5672";
 const char *AMQP_PORT_NAME = "amqp";
 const char *AMQPS_PORT = "5671";
@@ -356,7 +355,7 @@ int pconnection_error(pconnection_t *pc, int err, const char* what) {
   if (err) {
     pn_connection_driver_t *driver = &pc->driver;
     pn_connection_driver_bind(driver); /* Bind so errors will be reported */
-    pn_connection_driver_errorf(driver, COND_NAME, "%s %s:%s: %s",
+    pn_connection_driver_errorf(driver, uv_err_name(err), "%s %s:%s: %s",
                                 what, fixstr(pc->psocket.host), fixstr(pc->psocket.port),
                                 uv_strerror(err));
     pn_connection_driver_close(driver);
@@ -629,7 +628,7 @@ static void listener_to_worker(pn_listener_t *l) {
     to_worker(&l->psocket);
   } else if (l->err) {
     if (l->err != UV_EOF) {
-      pn_condition_format(l->condition, COND_NAME, "%s %s:%s: %s",
+      pn_condition_format(l->condition, uv_err_name(l->err), "%s %s:%s: %s",
                           l->what, fixstr(l->psocket.host), fixstr(l->psocket.port),
                           uv_strerror(l->err));
     }
@@ -721,9 +720,9 @@ void pn_proactor_done(pn_proactor_t *p, pn_event_batch_t *batch) {
     uv_mutex_lock(&p->lock);
     p->batch_working = false;
     uv_mutex_unlock(&p->lock);
+    uv_async_send(&p->async); /* Wake leader */
     return;
   }
-  uv_async_send(&p->async); /* Wake leader */
 }
 
 /* Process the leader_q, in the leader thread */
@@ -802,7 +801,7 @@ void pn_proactor_interrupt(pn_proactor_t *p) {
   uv_mutex_lock(&p->lock);
   ++p->interrupt;
   uv_mutex_unlock(&p->lock);
-  uv_async_send(&p->async);   /* Interrupt the UV loop */
+  uv_async_send(&p->async);   /* Wake the UV loop */
 }
 
 void pn_proactor_set_timeout(pn_proactor_t *p, pn_millis_t t) {
@@ -810,7 +809,7 @@ void pn_proactor_set_timeout(pn_proactor_t *p, pn_millis_t t) {
   p->timeout = t;
   p->timeout_request = true;
   uv_mutex_unlock(&p->lock);
-  uv_async_send(&p->async);   /* Interrupt the UV loop */
+  uv_async_send(&p->async);   /* Wake the UV loop */
 }
 
 int pn_proactor_connect(pn_proactor_t *p, pn_connection_t *c, const char *host, const char *port) {


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