You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@hyperreal.org on 1999/02/05 21:17:24 UTC
cvs commit: apache-apr/pthreads/src/main http_config.c http_core.c http_main.c
rbb 99/02/05 12:17:24
Modified: pthreads/src/include http_conf_globals.h httpd.h
pthreads/src/main http_config.c http_core.c http_main.c
Log:
Start the server with sensible defaults. 10000 requests per child and 50
threads per child. I also fixed size of the fd queue to be the number of
threads in the process.
Revision Changes Path
1.2 +1 -0 apache-apr/pthreads/src/include/http_conf_globals.h
Index: http_conf_globals.h
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/include/http_conf_globals.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- http_conf_globals.h 1999/01/21 23:08:32 1.1
+++ http_conf_globals.h 1999/02/05 20:17:17 1.2
@@ -74,6 +74,7 @@
extern gid_t group_id_list[NGROUPS_MAX];
#endif
extern int ap_threads_per_child;
+extern int ap_max_requests_per_child;
extern int ap_excess_requests_per_child;
extern struct in_addr ap_bind_address;
extern listen_rec *ap_listeners;
1.3 +1 -1 apache-apr/pthreads/src/include/httpd.h
Index: httpd.h
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/include/httpd.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- httpd.h 1999/01/28 21:55:20 1.2
+++ httpd.h 1999/02/05 20:17:17 1.3
@@ -349,7 +349,7 @@
*/
#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD
-#define DEFAULT_MAX_REQUESTS_PER_CHILD 0
+#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000
#endif
#ifndef DEFAULT_THREADS_PER_CHILD
1.4 +2 -0 apache-apr/pthreads/src/main/http_config.c
Index: http_config.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/http_config.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- http_config.c 1999/02/04 06:52:38 1.3
+++ http_config.c 1999/02/05 20:17:18 1.4
@@ -1386,6 +1386,8 @@
ap_pid_fname = DEFAULT_PIDLOG;
ap_scoreboard_fname = DEFAULT_SCOREBOARD;
ap_lock_fname = DEFAULT_LOCKFILE;
+ ap_max_requests_per_child = DEFAULT_MAX_REQUESTS_PER_CHILD;
+ ap_threads_per_child = DEFAULT_THREADS_PER_CHILD;
/* ZZZ Initialize the Network Address here. */
ap_bind_address.s_addr = htonl(INADDR_ANY);
ap_listeners = NULL;
1.2 +8 -2 apache-apr/pthreads/src/main/http_core.c
Index: http_core.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/http_core.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- http_core.c 1999/01/21 23:08:33 1.1
+++ http_core.c 1999/02/05 20:17:19 1.2
@@ -2014,6 +2014,8 @@
return err;
}
+ ap_max_requests_per_child = atoi(arg);
+
return NULL;
}
@@ -2024,7 +2026,11 @@
}
ap_threads_per_child = atoi(arg);
- if (ap_threads_per_child > HARD_SERVER_LIMIT) {
+ if (ap_threads_per_child < 1) {
+ fprintf(stderr, "WARNING: Require ThreadsPerChild > 0, setting to 1\n");
+ ap_threads_per_child = 1;
+ }
+ /* if (ap_threads_per_child > HARD_SERVER_LIMIT) {
fprintf(stderr, "WARNING: ThreadsPerChild of %d exceeds compile time limit "
"of %d threads,\n", ap_threads_per_child, HARD_SERVER_LIMIT);
fprintf(stderr, " lowering ThreadsPerChild to %d. To increase, please "
@@ -2036,7 +2042,7 @@
fprintf(stderr, "WARNING: Require ThreadsPerChild > 0, setting to 1\n");
ap_threads_per_child = 1;
}
-
+ */
return NULL;
}
1.7 +5 -5 apache-apr/pthreads/src/main/http_main.c
Index: http_main.c
===================================================================
RCS file: /home/cvs/apache-apr/pthreads/src/main/http_main.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- http_main.c 1999/02/03 18:29:29 1.6
+++ http_main.c 1999/02/05 20:17:20 1.7
@@ -156,7 +156,8 @@
#ifdef MULTIPLE_GROUPS
gid_t group_id_list[NGROUPS_MAX];
#endif
-int ap_threads_per_child = 5; /* Need to require this directive, or make a valid default */
+int ap_threads_per_child;
+int ap_max_requests_per_child;
int ap_excess_requests_per_child;
char *ap_pid_fname;
char *ap_scoreboard_fname;
@@ -242,6 +243,7 @@
static server_rec *server_conf;
static struct pollfd *listenfds; /* ZZZZZ abstract fd_set */
static int num_listenfds; /* ZZZZZ abstract num_listenfds */
+static pid_t pgrp;
/* one_process --- debugging mode variable; can be set from the command line
* with the -X flag. If set, this gets you the child_main loop running
@@ -1542,7 +1544,7 @@
process_socket(pchild, &sa_client, csd, my_pid);
}
}
-
+
static void set_group_privs(void)
{
#ifndef WIN32
@@ -1626,7 +1628,7 @@
/*done with init critical section */
- queue_init(&csd_queue, 2);
+ queue_init(&csd_queue, ap_threads_per_child);
/* Setup worker threads */
@@ -2041,9 +2043,7 @@
is_graceful = 0;
if (!one_process) {
-#if 0
detach();
-#endif
}
else {
MONCONTROL(1);