Author: mturk
Date: Tue Mar 20 05:28:39 2012
New Revision: 1302771
URL: http://svn.apache.org/viewvc?rev=1302771&view=rev
Log:
Use isapi_redirect path as mutex name so we don't mix different physical
instances
Modified:
tomcat/jk/trunk/native/iis/installer/isapi-redirector-win32-msi.ism
tomcat/jk/trunk/native/iis/jk_isapi_plugin.c
Modified: tomcat/jk/trunk/native/iis/installer/isapi-redirector-win32-msi.ism
URL:
http://svn.apache.org/viewvc/tomcat/jk/trunk/native/iis/installer/isapi-redirector-win32-msi.ism?rev=1302771&r1=1302770&r2=1302771&view=diff
==============================================================================
--- tomcat/jk/trunk/native/iis/installer/isapi-redirector-win32-msi.ism
(original)
+++ tomcat/jk/trunk/native/iis/installer/isapi-redirector-win32-msi.ism Tue Mar
20 05:28:39 2012
@@ -3425,7 +3425,7 @@ TQBzAGkAAQBSAGUAbABlAGEAcwBlAA==
<row><td>ProductID</td><td>none</td><td/></row>
<row><td>ProductLanguage</td><td>1033</td><td/></row>
<row><td>ProductName</td><td>Tomcat Isapi
Redirector</td><td/></row>
- <row><td>ProductVersion</td><td>1.2.33</td><td/></row>
+ <row><td>ProductVersion</td><td>1.2.34</td><td/></row>
<row><td>ProgressType0</td><td>install</td><td/></row>
<row><td>ProgressType1</td><td>Installing</td><td/></row>
<row><td>ProgressType2</td><td>installed</td><td/></row>
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=1302771&r1=1302770&r2=1302771&view=diff
==============================================================================
--- tomcat/jk/trunk/native/iis/jk_isapi_plugin.c (original)
+++ tomcat/jk/trunk/native/iis/jk_isapi_plugin.c Tue Mar 20 05:28:39 2012
@@ -467,6 +467,7 @@ static struct error_reasons {
static char dll_file_path[MAX_PATH];
static char ini_file_name[MAX_PATH];
+static char ini_mutex_name[MAX_PATH];
static int using_ini_file = JK_FALSE;
static HANDLE init_cs = NULL;
static volatile int is_inited = JK_FALSE;
@@ -505,8 +506,6 @@ static HANDLE watchdog_handle = NULL;
static char error_page_buf[INTERNET_MAX_URL_LENGTH] = {0};
static char *error_page = NULL;
-static const char *JK_MUTEX_NAME = "Global\\JK_ISAPI_REDIRECT_MUTEX";
-
#define URI_SELECT_OPT_PARSED 0
#define URI_SELECT_OPT_UNPARSED 1
#define URI_SELECT_OPT_ESCAPED 2
@@ -2437,6 +2436,17 @@ BOOL WINAPI DllMain(HINSTANCE hInst,
*p = '\0';
StringCbCopy(ini_file_name, MAX_PATH, fname);
StringCbCat(ini_file_name, MAX_PATH, ".properties");
+ StringCbCopy(ini_mutex_name, MAX_PATH, "Global\\JK_");
+ StringCbCat(ini_mutex_name, MAX_PATH, fname);
+ StringCbCat(ini_mutex_name, MAX_PATH, "_mutex");
+ p = &fname[10];
+ while (*p) {
+ if (!isalnum((unsigned char)*p))
+ *p = '_';
+ else
+ *p = toupper(*p);
+ p++;
+ }
}
else {
/* Cannot obtain file name ? */
@@ -2471,9 +2481,9 @@ BOOL WINAPI DllMain(HINSTANCE hInst,
StringCbPrintf(HTTP_WORKER_HEADER_INDEX, RES_BUFFER_SIZE,
HTTP_HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst);
InitializeCriticalSection(&log_cs);
- init_cs = CreateMutex(jk_get_sa_with_null_dacl(), FALSE,
JK_MUTEX_NAME);
+ init_cs = CreateMutex(jk_get_sa_with_null_dacl(), FALSE,
ini_mutex_name);
if (init_cs == NULL && GetLastError() == ERROR_ALREADY_EXISTS)
- init_cs = OpenMutex(MUTEX_ALL_ACCESS, FALSE, JK_MUTEX_NAME);
+ init_cs = OpenMutex(MUTEX_ALL_ACCESS, FALSE, ini_mutex_name);
if (init_cs == NULL)
return JK_FALSE;
break;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]