You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/08/08 12:23:29 UTC
svn commit: r802336 - in /commons/sandbox/runtime/trunk/src/main/native:
include/arch/windows/acr_arch.h os/win32/pmutex.c os/win32/shm.c
os/win32/wutil.c
Author: mturk
Date: Sat Aug 8 10:23:29 2009
New Revision: 802336
URL: http://svn.apache.org/viewvc?rev=802336&view=rev
Log:
Always use global kernel object prefix
Modified:
commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h
commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c
Modified: commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h?rev=802336&r1=802335&r2=802336&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/arch/windows/acr_arch.h Sat Aug 8 10:23:29 2009
@@ -335,7 +335,7 @@
return;
}
-wchar_t *res_name_from_filenamew(int, wchar_t *, const wchar_t *);
+wchar_t *res_name_from_filenamew(int, wchar_t *, const wchar_t *);
/*
* ---------------------------------------------------------------------
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c?rev=802336&r1=802335&r2=802336&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/pmutex.c Sat Aug 8 10:23:29 2009
@@ -30,7 +30,7 @@
CloseHandle(mutex);
return ACR_SUCCESS;
}
- return ACR_EINVAL;
+ return ACR_EBADF;
}
ACR_DECLARE(int) ACR_ProcMutexCreate(JNIEnv *_E, const acr_pchar_t *fname)
@@ -49,7 +49,7 @@
* without slashes or backslashes, and prepends the \global
* prefix on Win2K and later
*/
- reskey = res_name_from_filenamew(1, keybuf, fname);
+ reskey = res_name_from_filenamew(ACR_DT_MUTEX, keybuf, fname);
}
m = CreateMutexW(NULL, FALSE, reskey);
if (!m)
@@ -74,7 +74,7 @@
* without slashes or backslashes, and prepends the \global
* prefix on Win2K and later
*/
- res_name_from_filenamew(1, reskey, fname);
+ res_name_from_filenamew(ACR_DT_MUTEX, reskey, fname);
m = OpenMutexW(MUTEX_ALL_ACCESS, FALSE, reskey);
if (!m)
@@ -146,3 +146,4 @@
*/
return acr_ioh_close(mutex);
}
+
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c?rev=802336&r1=802335&r2=802336&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/shm.c Sat Aug 8 10:23:29 2009
@@ -46,7 +46,7 @@
acr_shm_t *m = (acr_shm_t *)shm;
if (type != ACR_DT_SHM) {
- return ACR_EINVAL;
+ return ACR_EBADF;
}
if (!UnmapViewOfFile(m->memblk)) {
rc = ACR_GET_OS_ERROR();
@@ -163,7 +163,7 @@
* without slashes or backslashes, and prepends the \global
* prefix on Win2K and later
*/
- reskey = res_name_from_filenamew(1, keybuf, filename);
+ reskey = res_name_from_filenamew(ACR_DT_SHM, keybuf, filename);
}
hmap = CreateFileMappingW(hfile, NULL, PAGE_READWRITE,
@@ -243,7 +243,7 @@
shm = ACR_Calloc(_E, THROW_FMARK, sizeof(acr_shm_t));
if (!shm)
return -1;
- res_name_from_filenamew(1, reskey, filename);
+ res_name_from_filenamew(ACR_DT_SHM, reskey, filename);
hmap = OpenFileMappingW(FILE_MAP_READ | FILE_MAP_WRITE, FALSE, reskey);
if (!hmap) {
rc = ACR_GET_OS_ERROR();
@@ -326,3 +326,4 @@
else
return m->length;
}
+
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c?rev=802336&r1=802335&r2=802336&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/wutil.c Sat Aug 8 10:23:29 2009
@@ -21,27 +21,40 @@
#include "acr_error.h"
#include "acr_memory.h"
#include "acr_string.h"
+#include "acr_descriptor.h"
#include "acr_crypto.h"
-wchar_t *res_name_from_filenamew(int global, wchar_t *rname,
+/*
+ * XXX: Make sure it is synced with ACR_DT_ types
+ */
+static const wchar_t *dtnames[] = {
+ L"a0_", /* ACR_DT_UNKNOWN */
+ L"a1_", /* ACR_DT_FILE */
+ L"a2_", /* ACR_DT_USER */
+ L"a3_", /* ACR_DT_GROUP */
+ L"a4_", /* ACR_DT_MUTEX */
+ L"a5_", /* ACR_DT_SHM */
+ L"a6_", /* ACR_DT_PIPE */
+ L"a7_", /* ACR_DT_SOCKET */
+ L"a8_", /* ACR_DT_DSO */
+ NULL
+};
+
+wchar_t *res_name_from_filenamew(int type, wchar_t *rname,
const wchar_t *fname)
{
DWORD rc;
wchar_t pname[ACR_HBUFF_SIZ];
- const wchar_t *prefix;
-
- if (global)
- prefix = L"Global\\ACR_";
- else
- prefix = L"Local\\ACR_";
- wcscpy(rname, prefix);
+ wcscpy(rname, L"Global\\");
+ wcscat(rname, dtnames[type]);
rc = GetFullPathNameW(fname, ACR_HBUFF_LEN, pname, NULL);
if (rc == 0 || rc > ACR_HBUFF_LEN)
- ACR_Sha1Base16W(fname, wcslen(fname), rname + wcslen(prefix));
+ ACR_Sha1Base16W(fname, wcslen(fname), rname + 10);
else
- ACR_Sha1Base16W(pname, wcslen(pname), rname + wcslen(prefix));
+ ACR_Sha1Base16W(pname, wcslen(pname), rname + 10);
fprintf(stdout, "Converted %S from %S\n", rname, pname);
fflush(stdout);
return rname;
}
+