From: Jeff Trawick Date: Fri, 2 Feb 2001 15:52:09 +0000 (+0000) Subject: Fix some bogosity dealing with the mapping from process and thread X-Git-Tag: APACHE_2_0_BETA_CANDIDATE_1~19 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=50152ff5a9e2c8a1b2e9a8c30b159667287dd8a1;p=apache Fix some bogosity dealing with the mapping from process and thread numbers to ids and back. This gets mpmt_pthread working again (it was hanging/looping before this). I don't know whether or not dexter had the same problem. Submitted by: Jeff Trawick and Greg Ames git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87955 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/mpm/dexter/mpm_default.h b/server/mpm/dexter/mpm_default.h index 6a980e08a8..2929bbc6c8 100644 --- a/server/mpm/dexter/mpm_default.h +++ b/server/mpm/dexter/mpm_default.h @@ -59,8 +59,8 @@ #ifndef APACHE_MPM_DEFAULT_H #define APACHE_MPM_DEFAULT_H -#define AP_ID_FROM_CHILD_THREAD(c, t) ((c * HARD_SERVER_LIMIT) + HARD_THREAD_LIMIT) -#define AP_CHILD_THREAD_FROM_ID(i) (i / HARD_SERVER_LIMIT), (i % HARD_THREAD_LIMIT) +#define AP_ID_FROM_CHILD_THREAD(c, t) ((c * HARD_THREAD_LIMIT) + t) +#define AP_CHILD_THREAD_FROM_ID(i) (i / HARD_THREAD_LIMIT), (i % HARD_THREAD_LIMIT) /* Number of threads to spawn off by default --- also, if fewer than * this free when the caretaker checks, it will spawn more. diff --git a/server/mpm/mpmt_pthread/mpm_default.h b/server/mpm/mpmt_pthread/mpm_default.h index 3967fd035f..02dfb47015 100644 --- a/server/mpm/mpmt_pthread/mpm_default.h +++ b/server/mpm/mpmt_pthread/mpm_default.h @@ -59,8 +59,8 @@ #ifndef APACHE_MPM_DEFAULT_H #define APACHE_MPM_DEFAULT_H -#define AP_ID_FROM_CHILD_THREAD(c, t) ((c * HARD_SERVER_LIMIT) + HARD_THREAD_LIMIT) -#define AP_CHILD_THREAD_FROM_ID(i) (i / HARD_SERVER_LIMIT), (i % HARD_THREAD_LIMIT) +#define AP_ID_FROM_CHILD_THREAD(c, t) ((c * HARD_THREAD_LIMIT) + t) +#define AP_CHILD_THREAD_FROM_ID(i) (i / HARD_THREAD_LIMIT), (i % HARD_THREAD_LIMIT) /* Number of servers to spawn off by default --- also, if fewer than * this free when the caretaker checks, it will spawn more. diff --git a/server/mpm/mpmt_pthread/mpmt_pthread.c b/server/mpm/mpmt_pthread/mpmt_pthread.c index 2f25ec682e..6d5032b437 100644 --- a/server/mpm/mpmt_pthread/mpmt_pthread.c +++ b/server/mpm/mpmt_pthread/mpmt_pthread.c @@ -389,7 +389,7 @@ int ap_graceful_stop_signalled(void) static void process_socket(apr_pool_t *p, apr_socket_t *sock, int my_child_num, int my_thread_num) { conn_rec *current_conn; - long conn_id = my_child_num * HARD_THREAD_LIMIT + my_thread_num; + long conn_id = AP_ID_FROM_CHILD_THREAD(my_child_num, my_thread_num); int csd; (void) apr_get_os_sock(&csd, sock);