I have a problem.
peruser does not seem to check if child is idle correctly. If i download
a file and expiretimeout elapses it kills off child anyways, regardless
of what it's doing. It's also true with php scripts.
Does anyone else see this?
Using RH rpm httpd-2.0.54.
Only difference i have from stock peruser patch on my development
machine is this (patch I got from stefan, to sort out segfaults
concerning connection getting closed by client before they could be
handed over to child from multiplexer?):
Index: peruser.c
===================================================================
--- httpd-2.0.55/server/mpm/experimental/peruser/peruser.c
(revision 27)
+++ httpd-2.0.55-new/server/mpm/experimental/peruser/peruser.c (working
copy)
@@ -931,12 +931,13 @@
current_conn = ap_run_create_connection(p, ap_server_conf, sock,
conn_id,
sbh, bucket_alloc);
_DBG("Looking up the right vhost");
- ap_update_vhost_given_ip(current_conn);
- _DBG("Base server is %s, name based vhosts %s",
current_conn->base_server->server_hostname,
+ if (current_conn) {
+ ap_update_vhost_given_ip(current_conn);
+ _DBG("Base server is %s, name based vhosts %s",
current_conn->base_server->server_hostname,
current_conn->vhost_lookup_data ? "on" : "off");
-
+ }
- if (!current_conn->vhost_lookup_data &&
CHILD_INFO_TABLE[my_child_num].type == CHILD_TYPE_MULTIPLEXER) {
+ if (current_conn && !current_conn->vhost_lookup_data &&
CHILD_INFO_TABLE[my_child_num].type == CHILD_TYPE_MULTIPLEXER) {
_DBG("We are not using name based vhosts, we'll directly pass
the socket.");
sconf =
PERUSER_SERVER_CONF(current_conn->base_server->module_config);
I sat the ExpireTimeout to very low so i could test it easily. In my
real server its 300.
My conf:
ServerLimit 320
MaxClients 320
MinSpareProcessors 3
MaxProcessors 100
MaxRequestsPerChild 1000
ExpireTimeout 10
Multiplexer nobody nobody
Multiplexer nobody nobody
<Virtualhost *>
DocumentRoot /home/web/default
ServerName default
ErrorLog /home/web/logs/default_error.log
CustomLog /home/web/logs/default_custm.log combined
ServerEnvironment #2000 #2000
</Virtualhost>
I have production server with apache 2.2.2 with similar conf and it acts
the same way, but since Gabriel uses 2.0 series then i rebuilt old
apache on dev. machine to get it fixed and ask some thoughts.
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser