diff --git a/changes-entries/core-duplicate-listeners.txt b/changes-entries/core-duplicate-listeners.txt new file mode 100644 index 00000000000..d392572ac79 --- /dev/null +++ b/changes-entries/core-duplicate-listeners.txt @@ -0,0 +1,3 @@ + *) core: Fail startup or restart when a duplicated listening socket + cannot be initialized, instead of continuing with a broken listener. + PR 70106. [Xuqing Yang] diff --git a/server/listen.c b/server/listen.c index a8bdd0564a5..b9101cc9b6a 100644 --- a/server/listen.c +++ b/server/listen.c @@ -910,7 +910,10 @@ AP_DECLARE(apr_status_t) ap_duplicate_listeners(apr_pool_t *p, server_rec *s, duplr->bind_addr); return stat; } - make_sock(p, duplr, 1); + stat = make_sock(p, duplr, 1); + if (stat != APR_SUCCESS) { + return stat; + } } #if AP_NONBLOCK_WHEN_MULTI_LISTEN use_nonblock = (ap_listeners && ap_listeners->next);