DISPATCH-167 - Protect against the thread-safety issue described in PROTON-989.
diff --git a/src/server.c b/src/server.c
index 71871aa..b46fb72 100644
--- a/src/server.c
+++ b/src/server.c
@@ -213,7 +213,7 @@
 }
 
 
-static void thread_process_listeners(qd_server_t *qd_server)
+static void thread_process_listeners_LH(qd_server_t *qd_server)
 {
     qdpn_driver_t    *driver = qd_server->driver;
     qdpn_listener_t  *listener;
@@ -626,7 +626,7 @@
                 //
                 // Process listeners (incoming connections).
                 //
-                thread_process_listeners(qd_server);
+                thread_process_listeners_LH(qd_server);
 
                 //
                 // Traverse the list of connectors-needing-service from the proton driver.
@@ -903,10 +903,12 @@
     //
     // Set up SASL
     //
+    sys_mutex_lock(ct->server->lock);
     pn_sasl_t *sasl = pn_sasl(tport);
     if (config->sasl_mechanisms)
         pn_sasl_allowed_mechs(sasl, config->sasl_mechanisms);
     pn_sasl_set_allow_insecure_mechs(sasl, config->allowInsecureAuthentication);
+    sys_mutex_unlock(ct->server->lock);
 
     ctx->owner_thread = CONTEXT_NO_OWNER;
 }