Author: mturk
Date: Tue Mar 13 03:20:28 2007
New Revision: 517629
URL: http://svn.apache.org/viewvc?view=rev&rev=517629
Log:
Fix shared memory initialization. The file descriptors must be reopened in
child process.
Modified:
tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
tomcat/connectors/trunk/jk/native/common/jk_shm.c
Modified: tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c?view=diff&rev=517629&r1=517628&r2=517629
==============================================================================
--- tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c Tue Mar 13 03:20:28
2007
@@ -2787,10 +2787,28 @@
return DECLINED;
}
-static void exit_handler(server_rec * s, ap_pool * p)
+static void child_exit_handler(server_rec * s, ap_pool * p)
{
/* srevilak - refactor cleanup body to jk_generic_cleanup() */
jk_generic_cleanup(s);
+ jk_shm_close();
+}
+
+static void child_init_handler(server_rec * s, ap_pool * p)
+{
+ int rc;
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *) ap_get_module_config(s->module_config,
+ &jk_module);
+
+ if ((rc = jk_shm_attach(jk_shm_file, jk_shm_size, conf->log)) == 0) {
+ if (JK_IS_DEBUG_LEVEL(conf->log))
+ jk_log(conf->log, JK_LOG_DEBUG, "Attached shm:%s",
+ jk_shm_name());
+ }
+ else
+ jk_log(conf->log, JK_LOG_ERROR, "Attaching shm:%s errno=%d",
+ jk_shm_name(), rc);
}
@@ -2855,8 +2873,8 @@
jk_fixups, /* [8] fixups */
NULL, /* [10] logger */
NULL, /* [3] header parser */
- NULL, /* apache child process initializer */
- exit_handler, /* apache child process exit/cleanup */
+ child_init_handler, /* apache child process initializer */
+ child_exit_handler, /* apache child process exit/cleanup */
NULL /* [1] post read_request handling */
#ifdef EAPI
/*
Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_shm.c?view=diff&rev=517629&r1=517628&r2=517629
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_shm.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_shm.c Tue Mar 13 03:20:28 2007
@@ -280,10 +280,8 @@
JK_TRACE_ENTER(l);
if (jk_shmem.hdr) {
/* Probably a call from vhost */
- if (JK_IS_DEBUG_LEVEL(l))
- jk_log(l, JK_LOG_DEBUG,
- "Shared memory is already open");
- return 0;
+ if (!attached)
+ attached = 1;
}
jk_shmem.filename = fname;
if (attached)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]