Author: mturk
Date: Sun Mar 18 13:50:33 2012
New Revision: 1302126
URL: http://svn.apache.org/viewvc?rev=1302126view=rev
Log:
Create valid shared memory name
Modified:
tomcat/jk/trunk/native/common/jk_shm.c
tomcat/jk/trunk/native/iis/jk_isapi_plugin.c
Modified: tomcat/jk/trunk/native/common/jk_shm.c
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_shm.c?rev=1302126r1=1302125r2=1302126view=diff
==
--- tomcat/jk/trunk/native/common/jk_shm.c (original)
+++ tomcat/jk/trunk/native/common/jk_shm.c Sun Mar 18 13:50:33 2012
@@ -153,6 +153,7 @@ int jk_shm_open(const char *fname, size_
int rc = -1;
int attached = 0;
char lkname[MAX_PATH];
+char shname[MAX_PATH] = ;
JK_TRACE_ENTER(l);
if (!jk_shm_inited_cs) {
@@ -172,8 +173,17 @@ int jk_shm_open(const char *fname, size_
jk_shm_map = NULL;
jk_shm_hlock = NULL;
if (fname) {
+int i;
SIZE_T shmsz = 0;
-sprintf(lkname, Global\\%s_MUTEX, fname);
+snprintf(shname, MAX_PATH - 8, Global\\%s, fname);
+for(i = 7; i (int)strlen(shname); i++) {
+if (!isalnum((unsigned char)shname[i]))
+shname[i] = '_';
+else
+shname[i] = toupper(shname[i]);
+}
+strcpy(lkname, shame);
+strcat(lkname, _MUTEX);
jk_shm_hlock = CreateMutex(jk_get_sa_with_null_dacl(), TRUE, lkname);
if (jk_shm_hlock == NULL) {
if (GetLastError() == ERROR_ALREADY_EXISTS) {
@@ -199,11 +209,11 @@ int jk_shm_open(const char *fname, size_
JK_TRACE_EXIT(l);
return rc;
}
-jk_shm_map = OpenFileMapping(FILE_MAP_READ | FILE_MAP_WRITE,
FALSE, fname);
+jk_shm_map = OpenFileMapping(FILE_MAP_READ | FILE_MAP_WRITE,
FALSE, shname);
if (jk_shm_map == NULL) {
rc = GetLastError();
jk_log(l, JK_LOG_ERROR, Failed to open shared memory %s with
errno=%d,
- fname, rc);
+ shname, rc);
}
}
if (jk_shm_map == NULL) {
@@ -213,7 +223,7 @@ int jk_shm_open(const char *fname, size_
PAGE_READWRITE,
0,
(DWORD)shmsz,
- fname);
+ shname);
}
if (jk_shm_map == NULL || jk_shm_map == INVALID_HANDLE_VALUE) {
rc = GetLastError();
@@ -252,8 +262,8 @@ int jk_shm_open(const char *fname, size_
return rc;
}
if (!jk_shmem.filename) {
-if (fname)
-jk_shmem.filename = strdup(fname);
+if (shname[0])
+jk_shmem.filename = strdup(shname);
else
jk_shmem.filename = strdup(memory);
}
Modified: tomcat/jk/trunk/native/iis/jk_isapi_plugin.c
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/jk_isapi_plugin.c?rev=1302126r1=1302125r2=1302126view=diff
==
--- tomcat/jk/trunk/native/iis/jk_isapi_plugin.c (original)
+++ tomcat/jk/trunk/native/iis/jk_isapi_plugin.c Sun Mar 18 13:50:33 2012
@@ -55,7 +55,7 @@
#define VERSION_STRING Jakarta/ISAPI/ JK_EXPOSED_VERSION
#define FULL_VERSION_STRING Jakarta/ISAPI/ JK_FULL_EXPOSED_VERSION
-#define SHM_DEF_PREFIX Global\\JK_
+#define SHM_DEF_PREFIX JK_
#define DEFAULT_WORKER_NAME ajp13
/*
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org