From: Ryan Bloom Date: Tue, 13 Nov 2001 01:24:42 +0000 (+0000) Subject: Remove more network logic from the MPMs. Essentially, each MPM can define X-Git-Tag: 2.0.29~166 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=26444e2900718f0d59b5d1a889e32380c3e987f7;p=apache Remove more network logic from the MPMs. Essentially, each MPM can define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK, which tells Apache to disable_nagle on the accepted socket. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91889 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/core.c b/server/core.c index fad948aae8..fa5bce97ed 100644 --- a/server/core.c +++ b/server/core.c @@ -3281,6 +3281,10 @@ static conn_rec *core_create_conn(apr_pool_t *ptrans, apr_socket_t *csd, { core_net_rec *net = apr_palloc(ptrans, sizeof(*net)); +#ifdef AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK + ap_sock_disable_nagle(csd); +#endif + net->in_ctx = NULL; net->out_ctx = NULL; net->c = ap_core_new_connection(ptrans, ap_server_conf, csd, diff --git a/server/mpm/mpmt_os2/mpm.h b/server/mpm/mpmt_os2/mpm.h index 37d2f6c20c..8291769685 100644 --- a/server/mpm/mpmt_os2/mpm.h +++ b/server/mpm/mpmt_os2/mpm.h @@ -70,5 +70,6 @@ extern server_rec *ap_server_conf; #define AP_MPM_WANT_SET_PIDFILE #define AP_MPM_WANT_SET_MAX_REQUESTS +#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK #endif /* APACHE_MPM_SPMT_OS2_H */ diff --git a/server/mpm/mpmt_os2/mpmt_os2_child.c b/server/mpm/mpmt_os2/mpmt_os2_child.c index 3f9a685635..3122eedca5 100644 --- a/server/mpm/mpmt_os2/mpmt_os2_child.c +++ b/server/mpm/mpmt_os2/mpmt_os2_child.c @@ -406,7 +406,6 @@ static void worker_main(void *vpArg) while (rc = DosReadQueue(workq, &rd, &len, (PPVOID)&worker_args, 0, DCWW_WAIT, &priority, NULLHANDLE), rc == 0 && rd.ulData != WORKTYPE_EXIT) { pconn = worker_args->pconn; - ap_sock_disable_nagle(worker_args->conn_sd); current_conn = ap_run_create_connection(pconn, worker_args->conn_sd, conn_id); if (current_conn) { diff --git a/server/mpm/netware/mpm.h b/server/mpm/netware/mpm.h index 7ec0a1be3c..da809db1a7 100644 --- a/server/mpm/netware/mpm.h +++ b/server/mpm/netware/mpm.h @@ -72,6 +72,7 @@ #define AP_MPM_WANT_SET_LOCKFILE */ #define AP_MPM_WANT_SET_MAX_REQUESTS +#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK /*#define AP_MPM_WANT_SET_COREDUMPDIR #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH */ diff --git a/server/mpm/netware/mpm_netware.c b/server/mpm/netware/mpm_netware.c index db5c5894d1..e085887860 100644 --- a/server/mpm/netware/mpm_netware.c +++ b/server/mpm/netware/mpm_netware.c @@ -504,8 +504,6 @@ got_listener: * We now have a connection, so set it up with the appropriate * socket options, file descriptors, and read/write buffers. */ - ap_sock_disable_nagle(csd); - current_conn = ap_run_create_connection(ptrans, csd, my_worker_num); if (current_conn) { ap_process_connection(current_conn); diff --git a/server/mpm/prefork/mpm.h b/server/mpm/prefork/mpm.h index 48a5a3df88..32e5512255 100644 --- a/server/mpm/prefork/mpm.h +++ b/server/mpm/prefork/mpm.h @@ -77,6 +77,7 @@ #define AP_MPM_WANT_SET_MAX_REQUESTS #define AP_MPM_WANT_SET_COREDUMPDIR #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH +#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK #define AP_MPM_USES_POD 1 #define MPM_SYNC_CHILD_TABLE() (ap_sync_scoreboard_image()) diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c index 63deee8bb8..d511a9ea36 100644 --- a/server/mpm/prefork/prefork.c +++ b/server/mpm/prefork/prefork.c @@ -787,8 +787,6 @@ static void child_main(int child_num_arg) } #endif - ap_sock_disable_nagle(csd); - current_conn = ap_run_create_connection(ptrans, csd, my_child_num); if (current_conn) { ap_process_connection(current_conn); diff --git a/server/mpm/spmt_os2/mpm.h b/server/mpm/spmt_os2/mpm.h index d91687cf6d..f3a3214137 100644 --- a/server/mpm/spmt_os2/mpm.h +++ b/server/mpm/spmt_os2/mpm.h @@ -71,6 +71,7 @@ #define AP_MPM_WANT_SET_MAX_REQUESTS #define AP_MPM_WANT_SET_COREDUMPDIR #define AP_MPM_WANT_PROCESS_CHILD_STATUS +#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK extern server_rec *ap_server_conf; extern int ap_threads_per_child; diff --git a/server/mpm/spmt_os2/spmt_os2.c b/server/mpm/spmt_os2/spmt_os2.c index e967959def..34a7c70f38 100644 --- a/server/mpm/spmt_os2/spmt_os2.c +++ b/server/mpm/spmt_os2/spmt_os2.c @@ -677,9 +677,6 @@ static void thread_main(void *thread_num_arg) * We now have a connection, so set it up with the appropriate * socket options, file descriptors, and read/write buffers. */ - - ap_sock_disable_nagle(csd); - current_conn = ap_run_create_connection(ptrans, csd, THREAD_GLOBAL(thread_num)); diff --git a/server/mpm/threaded/mpm.h b/server/mpm/threaded/mpm.h index fdd87263e9..2f71f711d6 100644 --- a/server/mpm/threaded/mpm.h +++ b/server/mpm/threaded/mpm.h @@ -74,6 +74,7 @@ #define AP_MPM_WANT_SET_MAX_REQUESTS #define AP_MPM_WANT_SET_COREDUMPDIR #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH +#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK #define MPM_SYNC_CHILD_TABLE() (ap_sync_scoreboard_image()) #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) diff --git a/server/mpm/threaded/threaded.c b/server/mpm/threaded/threaded.c index 370049c16a..a7d62e5bfd 100644 --- a/server/mpm/threaded/threaded.c +++ b/server/mpm/threaded/threaded.c @@ -473,8 +473,6 @@ static void process_socket(apr_pool_t *p, apr_socket_t *sock, int my_child_num, return; } - ap_sock_disable_nagle(sock); - current_conn = ap_run_create_connection(p, sock, conn_id); if (current_conn) { ap_process_connection(current_conn); diff --git a/server/mpm/worker/mpm.h b/server/mpm/worker/mpm.h index a9a91455ec..911d70cca3 100644 --- a/server/mpm/worker/mpm.h +++ b/server/mpm/worker/mpm.h @@ -74,6 +74,7 @@ #define AP_MPM_WANT_SET_MAX_REQUESTS #define AP_MPM_WANT_SET_COREDUMPDIR #define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH +#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK #define MPM_SYNC_CHILD_TABLE() (ap_sync_scoreboard_image()) #define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) diff --git a/server/mpm/worker/worker.c b/server/mpm/worker/worker.c index 7b77e61640..203688b11d 100644 --- a/server/mpm/worker/worker.c +++ b/server/mpm/worker/worker.c @@ -497,8 +497,6 @@ static void process_socket(apr_pool_t *p, apr_socket_t *sock, int my_child_num, return; } - ap_sock_disable_nagle(sock); - current_conn = ap_run_create_connection(p, sock, conn_id); if (current_conn) { ap_process_connection(current_conn);