You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2017/01/05 18:58:01 UTC

qpid-dispatch git commit: DISPATCH-55 - Fail and exit if a configured listener fails to bind. This only occurs on the initial configuration. Listeners added via management that fail to bind shall only raise an ERROR log.

Repository: qpid-dispatch
Updated Branches:
  refs/heads/master 7fc0b9880 -> a88046c3b


DISPATCH-55 - Fail and exit if a configured listener fails to bind.  This only occurs on the initial configuration.  Listeners added via management that fail to bind shall only raise an ERROR log.


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

Branch: refs/heads/master
Commit: a88046c3bbe78d259c644f87818a3e7f727a2429
Parents: 7fc0b98
Author: Ted Ross <tr...@redhat.com>
Authored: Thu Jan 5 13:52:56 2017 -0500
Committer: Ted Ross <tr...@redhat.com>
Committed: Thu Jan 5 13:52:56 2017 -0500

----------------------------------------------------------------------
 src/connection_manager.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/a88046c3/src/connection_manager.c
----------------------------------------------------------------------
diff --git a/src/connection_manager.c b/src/connection_manager.c
index dabeea1..c4253c8 100644
--- a/src/connection_manager.c
+++ b/src/connection_manager.c
@@ -487,6 +487,7 @@ void qd_connection_manager_free(qd_connection_manager_t *cm)
 
 void qd_connection_manager_start(qd_dispatch_t *qd)
 {
+    static bool first_start = true;
     qd_config_listener_t  *cl = DEQ_HEAD(qd->connection_manager->config_listeners);
     qd_config_connector_t *cc = DEQ_HEAD(qd->connection_manager->config_connectors);
 
@@ -496,8 +497,14 @@ void qd_connection_manager_start(qd_dispatch_t *qd)
                 cl->listener = qd_server_listen(qd, &cl->configuration, cl);
                 if (cl->listener && cl->listener->pn_listener)
                     cl->state = QD_BIND_SUCCESSFUL;
-                else
+                else {
                     cl->state = QD_BIND_FAILED;
+                    if (first_start) {
+                        qd_log(qd->connection_manager->log_source, QD_LOG_CRITICAL,
+                               "Socket bind failed during initial configuration - process exiting");
+                        exit(1);
+                    }
+                }
             }
         cl = DEQ_NEXT(cl);
     }
@@ -507,6 +514,8 @@ void qd_connection_manager_start(qd_dispatch_t *qd)
             cc->connector = qd_server_connect(qd, &cc->configuration, cc);
         cc = DEQ_NEXT(cc);
     }
+
+    first_start = false;
 }
 
 


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