DISPATCH-739: Fix invalid read valgrind error in tests.

Changed server shutdown order so that context objects are not used after free
by logger.


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/892a413f
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/892a413f
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/892a413f

Branch: refs/heads/master
Commit: 892a413f84753de859e5d84a425b241197e7efe1
Parents: 4c98f54
Author: Alan Conway <[email protected]>
Authored: Tue Jan 2 11:00:06 2018 -0500
Committer: Alan Conway <[email protected]>
Committed: Tue Jan 2 11:18:55 2018 -0500

----------------------------------------------------------------------
 src/server.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/892a413f/src/server.c
----------------------------------------------------------------------
diff --git a/src/server.c b/src/server.c
index 9fe09f4..5cf967e 100644
--- a/src/server.c
+++ b/src/server.c
@@ -1154,7 +1154,8 @@ qd_server_t *qd_server(qd_dispatch_t *qd, int 
thread_count, const char *containe
 void qd_server_free(qd_server_t *qd_server)
 {
     if (!qd_server) return;
-    qd_http_server_free(qd_server->http); /* Shut down in reverse order of 
start-up */
+    qd_http_server_free(qd_server->http);
+    pn_proactor_free(qd_server->proactor);
     qd_connection_t *ctx = DEQ_HEAD(qd_server->conn_list);
     while (ctx) {
         DEQ_REMOVE_HEAD(qd_server->conn_list);
@@ -1166,7 +1167,6 @@ void qd_server_free(qd_server_t *qd_server)
         ctx = DEQ_HEAD(qd_server->conn_list);
     }
     qd_timer_finalize();
-    pn_proactor_free(qd_server->proactor);
     sys_mutex_free(qd_server->lock);
     sys_cond_free(qd_server->cond);
     Py_XDECREF((PyObject *)qd_server->py_displayname_obj);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to