Revert r806010, which breaks mpm-itk. See https://issues.apache.org/bugzilla/show_bug.cgi?id=52904 . Index: httpd-2.4.1/include/ap_listen.h =================================================================== --- httpd-2.4.1.orig/include/ap_listen.h +++ httpd-2.4.1/include/ap_listen.h @@ -96,11 +96,6 @@ AP_DECLARE(int) ap_setup_listeners(serve */ AP_DECLARE_NONSTD(void) ap_close_listeners(void); -/** - * FIXMEDOC - */ -AP_DECLARE_NONSTD(int) ap_close_selected_listeners(ap_slave_t *); - /* Although these functions are exported from libmain, they are not really * public functions. These functions are actually called while parsing the * config file, when one of the LISTEN_COMMANDS directives is read. These Index: httpd-2.4.1/server/listen.c =================================================================== --- httpd-2.4.1.orig/server/listen.c +++ httpd-2.4.1/server/listen.c @@ -237,8 +237,7 @@ static apr_status_t close_listeners_on_e } static const char *alloc_listener(process_rec *process, char *addr, - apr_port_t port, const char* proto, - void *dummy) + apr_port_t port, const char* proto) { ap_listen_rec **walk, *last; apr_status_t status; @@ -273,9 +272,6 @@ static const char *alloc_listener(proces } if (found_listener) { - if (ap_listeners->slave != dummy) { - return "Cannot define a slave on the same IP:port as a Listener"; - } return NULL; } @@ -333,7 +329,6 @@ static const char *alloc_listener(proces last->next = new; last = new; } - new->slave = dummy; } return NULL; @@ -588,22 +583,6 @@ AP_DECLARE_NONSTD(void) ap_close_listene lr->active = 0; } } -AP_DECLARE_NONSTD(int) ap_close_selected_listeners(ap_slave_t *slave) -{ - ap_listen_rec *lr; - int n = 0; - - for (lr = ap_listeners; lr; lr = lr->next) { - if (lr->slave != slave) { - apr_socket_close(lr->sd); - lr->active = 0; - } - else { - ++n; - } - } - return n; -} AP_DECLARE(void) ap_listen_pre_config(void) { @@ -612,10 +591,7 @@ AP_DECLARE(void) ap_listen_pre_config(vo ap_listenbacklog = DEFAULT_LISTENBACKLOG; } -/* Hack: populate an extra field - * When this gets called from a Listen directive, dummy is null. - * So we can use non-null dummy to pass a data pointer without conflict - */ + AP_DECLARE_NONSTD(const char *) ap_set_listener(cmd_parms *cmd, void *dummy, int argc, char *const argv[]) { @@ -662,7 +638,7 @@ AP_DECLARE_NONSTD(const char *) ap_set_l ap_str_tolower(proto); } - return alloc_listener(cmd->server->process, host, port, proto, dummy); + return alloc_listener(cmd->server->process, host, port, proto); } AP_DECLARE_NONSTD(const char *) ap_set_listenbacklog(cmd_parms *cmd,