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
#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.
#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.
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);