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/09/01 17:06:24 UTC
svn commit: r810085 - in /commons/sandbox/runtime/trunk/src:
main/native/include/ main/native/os/linux/ main/native/os/unix/
main/native/os/win32/ main/native/shared/ main/native/test/
test/org/apache/commons/runtime/
Author: mturk
Date: Tue Sep 1 15:06:23 2009
New Revision: 810085
URL: http://svn.apache.org/viewvc?rev=810085&view=rev
Log:
Add cleanup to const pointer and use const pointer for read only mmap
Modified:
commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h
commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c
commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c
commons/sandbox/runtime/trunk/src/main/native/os/unix/pmmap.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c
commons/sandbox/runtime/trunk/src/main/native/os/win32/pmmap.c
commons/sandbox/runtime/trunk/src/main/native/shared/constp.c
commons/sandbox/runtime/trunk/src/main/native/shared/db.c
commons/sandbox/runtime/trunk/src/main/native/shared/error.c
commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
commons/sandbox/runtime/trunk/src/main/native/shared/shm.c
commons/sandbox/runtime/trunk/src/main/native/shared/xdr.c
commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestNioByteBuffer.java
commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h Tue Sep 1 15:06:23 2009
@@ -45,8 +45,8 @@
* @param len Length of the pointer.
* @param cb callback function to use on Pointer.finalize()
*/
-ACR_DECLARE(jobject) ACR_NewPointer(JNIEnv *env, void *p, size_t len,
- acr_pointer_cleanup_fn_t *cb);
+ACR_DECLARE(jobject) ACR_NewBasicPointer(JNIEnv *env, void *p, size_t len,
+ acr_pointer_cleanup_fn_t *cb);
/**
* Create new Pointer array
@@ -144,8 +144,8 @@
* @param len Length of the pointer.
* @note ConstPointer does not have callback function.
*/
-ACR_DECLARE(jobject) ACR_NewConstPointer(JNIEnv *env, const void *p,
- size_t len);
+ACR_DECLARE(jobject) ACR_NewConstPointer(JNIEnv *env, const void *p, size_t len,
+ acr_pointer_cleanup_fn_t *cb);
#ifdef __cplusplus
}
Modified: commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c Tue Sep 1 15:06:23 2009
@@ -145,7 +145,7 @@
EXEC_PAGE_OFF(mmw, ass) = (ptrdiff_t)mmx;
/* Create the Pointer class with default cleanup.
*/
- ptr = ACR_NewPointer(_E, mmw, ass, execmem_pointer_cleanup);
+ ptr = ACR_NewBasicPointer(_E, mmw, ass, execmem_pointer_cleanup);
if (!ptr) {
munmap(mmw, ass);
if (mmx)
@@ -170,9 +170,9 @@
dp = (void *)(EXEC_PAGE_OFF(sp, sl));
if (dp)
- po = ACR_NewPointer(_E, dp, sl, NULL);
+ po = ACR_NewBasicPointer(_E, dp, sl, NULL);
else
- po = ACR_NewPointer(_E, sp, sl, NULL);
+ po = ACR_NewBasicPointer(_E, sp, sl, NULL);
return po;
}
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c Tue Sep 1 15:06:23 2009
@@ -77,7 +77,7 @@
if (mem) {
/* Create the Pointer class with default cleanup.
*/
- ptr = ACR_NewPointer(_E, mem, ass, execmem_pointer_cleanup);
+ ptr = ACR_NewBasicPointer(_E, mem, ass, execmem_pointer_cleanup);
if (!ptr) {
#ifdef ACR_USE_MMAP
munmap(mem, ass);
@@ -96,6 +96,6 @@
void *sp = ACR_PointerGet(_E, src, &sl);
UNREFERENCED_O;
- return ACR_NewPointer(_E, sp, sl, NULL);
+ return ACR_NewBasicPointer(_E, sp, sl, NULL);
}
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/pmmap.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/pmmap.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/pmmap.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/pmmap.c Tue Sep 1 15:06:23 2009
@@ -100,17 +100,35 @@
else
rc = ACR_EBADF;
break;
+ case ACR_DESC_FLUSH:
+ if (dp->di > 0) {
+ acr_mmap_t *m = (acr_mmap_t *)ACR_IOH(dp->di);
+ if (ACR_IOH_TYPE(dp->di) != ACR_DT_MMAP)
+ rc = ACR_EFTYPE;
+ else {
+ if (IS_VALID_HANDLE(m->base)) {
+ if (msync(m->base, m->size, MS_SYNC)) {
+ /* Error during sync */
+ rc = ACR_GET_OS_ERROR();
+ }
+ }
+ }
+ }
+ else
+ rc = ACR_EBADF;
case ACR_DESC_SYNC:
if (dp->di > 0) {
acr_mmap_t *m = (acr_mmap_t *)ACR_IOH(dp->di);
if (ACR_IOH_TYPE(dp->di) != ACR_DT_MMAP)
rc = ACR_EFTYPE;
else {
- if (msync(m->base, m->size, MS_SYNC | MS_INVALIDATE)) {
- /* This will return ACR_EBUSY if some other memory
- * mapped region is locked
- */
- rc = ACR_GET_OS_ERROR();
+ if (IS_VALID_HANDLE(m->base)) {
+ if (msync(m->base, m->size, MS_SYNC | MS_INVALIDATE)) {
+ /* This will return ACR_EBUSY if some other memory
+ * mapped region is locked
+ */
+ rc = ACR_GET_OS_ERROR();
+ }
}
}
}
@@ -383,7 +401,10 @@
ACR_THROW_IO_ERRNO();
return NULL;
}
- mptr = ACR_NewPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+ if (m->flags & PROT_WRITE)
+ mptr = ACR_NewBasicPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+ else
+ mptr = ACR_NewConstPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
return mptr;
}
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c Tue Sep 1 15:06:23 2009
@@ -51,7 +51,7 @@
if (mem) {
/* Create the Pointer class with default cleanup.
*/
- ptr = ACR_NewPointer(_E, mem, ass, execmem_pointer_cleanup);
+ ptr = ACR_NewBasicPointer(_E, mem, ass, execmem_pointer_cleanup);
if (!ptr) {
VirtualFree(mem, 0, MEM_RELEASE);
}
@@ -68,6 +68,6 @@
void *sp = ACR_PointerGet(_E, src, &sl);
UNREFERENCED_O;
- return ACR_NewPointer(_E, sp, sl, NULL);
+ return ACR_NewBasicPointer(_E, sp, sl, NULL);
}
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/pmmap.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/pmmap.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/pmmap.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/pmmap.c Tue Sep 1 15:06:23 2009
@@ -101,16 +101,19 @@
else
rc = ACR_EBADF;
break;
+ case ACR_DESC_FLUSH:
case ACR_DESC_SYNC:
if (dp->di > 0) {
acr_mmap_t *m = (acr_mmap_t *)ACR_IOH(dp->di);
if (ACR_IOH_TYPE(dp->di) != ACR_DT_MMAP)
rc = ACR_EFTYPE;
else {
- if (!FlushViewOfFile(m->base, m->size)) {
- /* Error during flushing.
- */
- rc = ACR_GET_OS_ERROR();
+ if (IS_VALID_HANDLE(m->base)) {
+ if (!FlushViewOfFile(m->base, m->size)) {
+ /* Error during flushing.
+ */
+ rc = ACR_GET_OS_ERROR();
+ }
}
}
}
@@ -427,7 +430,10 @@
ACR_THROW_IO_ERRNO();
return NULL;
}
- mptr = ACR_NewPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+ if (m->flags & FILE_MAP_WRITE)
+ mptr = ACR_NewBasicPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+ else
+ mptr = ACR_NewConstPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
return mptr;
}
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/constp.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/constp.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/constp.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/constp.c Tue Sep 1 15:06:23 2009
@@ -25,8 +25,6 @@
#include "acr_memory.h"
#include "acr_pointer.h"
#include "acr_vm.h"
-
-#define ACR_WANT_MEMPROTECT
#include "acr_error.h"
/**
@@ -93,15 +91,15 @@
return NULL;
}
-ACR_DECLARE(jobject) ACR_NewConstPointer(JNIEnv *_E, const void *p, size_t len)
+ACR_DECLARE(jobject) ACR_NewConstPointer(JNIEnv *_E, const void *p, size_t len,
+ acr_pointer_cleanup_fn_t *cb)
{
if (_clazzn.i && J4MID(0000)) {
return (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
- P2N(p), 0, (acr_ptr_t)len);
+ P2N(p), P2N(cb), (acr_ptr_t)len);
}
else {
ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
return NULL;
}
}
-
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/db.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/db.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/db.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/db.c Tue Sep 1 15:06:23 2009
@@ -25,8 +25,6 @@
#include "acr_memory.h"
#include "acr_pointer.h"
#include "acr_vm.h"
-
-#define ACR_WANT_MEMPROTECT
#include "acr_error.h"
/**
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/error.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/error.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/error.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/error.c Tue Sep 1 15:06:23 2009
@@ -47,7 +47,15 @@
NULL
};
+/**
+ * SEH is basically usable only on Windows.
+ * On other platforms default to disabled.
+ */
+#if defined(ACR_ENABLE_SEH) && defined(_MSC_VER)
+static acr_seh_e acr_seh_mode = ACR_SEH_THROW;
+#else
static acr_seh_e acr_seh_mode = ACR_SEH_NONE;
+#endif
/*
* Convenience function to help throw any class
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/memory.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Tue Sep 1 15:06:23 2009
@@ -322,7 +322,7 @@
ACR_JNI_EXPORT_DECLARE(jobject, Memory, nullp0)(ACR_JNISTDARGS)
{
UNREFERENCED_O;
- return ACR_NewPointer(_E, NULL, 0, memory_pointer_cleanup);
+ return ACR_NewBasicPointer(_E, NULL, 0, memory_pointer_cleanup);
}
ACR_JNI_EXPORT_DECLARE(jobject, Memory, malloc)(ACR_JNISTDARGS, jlong siz)
@@ -340,7 +340,7 @@
if (mem) {
/* Create the Pointer class with default cleanup.
*/
- ptr = ACR_NewPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
+ ptr = ACR_NewBasicPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
if (!ptr)
free(mem);
}
@@ -362,7 +362,7 @@
if (mem) {
/* Create the Pointer class with default cleanup.
*/
- ptr = ACR_NewPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
+ ptr = ACR_NewBasicPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
if (!ptr)
free(mem);
}
@@ -421,7 +421,7 @@
/* Create the Pointer class without the cleanup.
* Original object will clean the entire allocated memory.
*/
- return ACR_NewPointer(_E, sp + so, ss, NULL);
+ return ACR_NewBasicPointer(_E, sp + so, ss, NULL);
}
ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice1)(ACR_JNISTDARGS,
@@ -446,7 +446,7 @@
/* Create the ConstPointer class.
*/
- return ACR_NewConstPointer(_E, sp + so, ss);
+ return ACR_NewConstPointer(_E, sp + so, ss, NULL);
}
ACR_JNI_EXPORT_DECLARE(jobject, Memory, dup0)(ACR_JNISTDARGS,
@@ -479,7 +479,7 @@
/* Copy the original content */
ACR_TRY {
memcpy(dp, sp + so, ss);
- po = ACR_NewPointer(_E, dp, ss, memory_pointer_cleanup);
+ po = ACR_NewBasicPointer(_E, dp, ss, memory_pointer_cleanup);
} ACR_CATCH() {
ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
}
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Tue Sep 1 15:06:23 2009
@@ -129,7 +129,7 @@
if (!_clazzn.i) {
initp0(_E);
}
- return ACR_NewPointer(_E, 0, 0, NULL);
+ return ACR_NewBasicPointer(_E, 0, 0, NULL);
}
ACR_JNI_EXPORT_DECLARE(void, AbstractPointer, cleanup0)(ACR_JNISTDARGS)
@@ -177,22 +177,31 @@
ACR_PTR_EXPORT_DECLARE(jint, peek0)(ACR_JNISTDARGS, jniptr a)
{
- UNREFERENCED_STDARGS;
+ jint rv = 0;
+ UNREFERENCED_O;
- return *(N2P(a, char *));
+ ACR_TRY {
+ rv = *(N2P(a, char *));
+ } ACR_CATCH() {
+ ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
+ }
+ return rv;
}
ACR_PTR_EXPORT_DECLARE(void, poke0)(ACR_JNISTDARGS, jniptr a, jint v)
{
- UNREFERENCED_STDARGS;
-
- *(N2P(a, char *)) = (char)v;
+ UNREFERENCED_O;
+ ACR_TRY {
+ *(N2P(a, char *)) = (char)v;
+ } ACR_CATCH() {
+ ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
+ }
}
ACR_PTR_EXPORT_DECLARE(void, copy0)(ACR_JNISTDARGS, jniptr s,
jniptr d, jniptr l)
{
- UNREFERENCED_STDARGS;
+ UNREFERENCED_O;
ACR_TRY {
memcpy(N2P(d, void *), N2P(s, const void *), (size_t)l);
} ACR_CATCH() {
@@ -203,7 +212,7 @@
ACR_PTR_EXPORT_DECLARE(void, move0)(ACR_JNISTDARGS, jniptr s,
jniptr d, jniptr l)
{
- UNREFERENCED_STDARGS;
+ UNREFERENCED_O;
ACR_TRY {
memmove(N2P(d, void *), N2P(s, const void *), (size_t)l);
} ACR_CATCH() {
@@ -215,7 +224,7 @@
jniptr b, jniptr n)
{
int rv;
- UNREFERENCED_STDARGS;
+ UNREFERENCED_O;
ACR_TRY {
rv = memcmp(N2P(a, void *), N2P(b, const void *), (size_t)n);
if (rv)
@@ -227,8 +236,8 @@
return rv;
}
-ACR_DECLARE(jobject) ACR_NewPointer(JNIEnv *_E, void *p, size_t len,
- acr_pointer_cleanup_fn_t *cb)
+ACR_DECLARE(jobject) ACR_NewBasicPointer(JNIEnv *_E, void *p, size_t len,
+ acr_pointer_cleanup_fn_t *cb)
{
if (_clazzn.i && J4MID(0000))
return (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/shm.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/shm.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/shm.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/shm.c Tue Sep 1 15:06:23 2009
@@ -84,7 +84,7 @@
return NULL;
}
len = ACR_ShmGetSize(sd);
- mpo = ACR_NewPointer(_E, mem, len, NULL);
+ mpo = ACR_NewBasicPointer(_E, mem, len, NULL);
}
return mpo;
}
@@ -111,7 +111,7 @@
ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
return NULL;
}
- mpo = ACR_NewPointer(_E, mem + off, (size_t)siz, NULL);
+ mpo = ACR_NewBasicPointer(_E, mem + off, (size_t)siz, NULL);
}
return mpo;
}
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/xdr.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/xdr.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/xdr.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/xdr.c Tue Sep 1 15:06:23 2009
@@ -30,8 +30,6 @@
#include "acr_clazz.h"
#include "acr_pointer.h"
#include "acr_xdr.h"
-
-#define ACR_WANT_MEMPROTECT
#include "acr_error.h"
#define CHECK_FOR_OVERFLOW(S) \
Modified: commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/test/testcase.c?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/test/testcase.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Tue Sep 1 15:06:23 2009
@@ -251,7 +251,7 @@
ACR_JNI_EXPORT_DECLARE(jobject, TestPrivate, test017)(ACR_JNISTDARGS, jint d)
{
- return ACR_NewPointer(_E, I2P(d, void *), 0, callback);
+ return ACR_NewBasicPointer(_E, I2P(d, void *), 0, callback);
}
ACR_JNI_EXPORT_DECLARE(jobject, TestPrivate, test038)(ACR_JNISTDARGS, jint d)
@@ -269,7 +269,7 @@
ACR_JNI_EXPORT_DECLARE(jobject, TestPrivate, test041)(ACR_JNISTDARGS, jint d)
{
- return ACR_NewConstPointer(_E, "Hello World", sizeof("Hello World"));
+ return ACR_NewConstPointer(_E, "Hello World", sizeof("Hello World"), NULL);
}
ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test018)(ACR_JNISTDARGS, jobject p)
Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java Tue Sep 1 15:06:23 2009
@@ -81,7 +81,7 @@
if (pa == null) {
try {
p4 = map.map(4096, 128);
- System.out.println("Map allows Platform.PAGESIZE ("
+ System.out.println("Map allows Platform.PAGESIZE (" +
Platform.PAGESIZE +
" bytes) offset alignment");
} catch (IOException e) {
@@ -106,6 +106,11 @@
assertEquals("Class header [1]", (byte)0xFE, (byte)p2.peek(1));
assertEquals("Class header [2]", (byte)0xBA, (byte)p1.peek(2));
assertEquals("Class header [3]", (byte)0xBE, (byte)p2.peek(3));
+ try {
+ p1.poke(0, (byte)0xCA);
+ } catch (Throwable t) {
+ System.out.println("Throwed " + t);
+ }
map.close();
}
Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestNioByteBuffer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestNioByteBuffer.java?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestNioByteBuffer.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestNioByteBuffer.java Tue Sep 1 15:06:23 2009
@@ -90,6 +90,7 @@
ptr.free();
// This is double free. Don't do this!
// Exception handler won't help here.
+ test_me = false;
if (test_me) {
NioByteBuffer.free(bb);
}
Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java?rev=810085&r1=810084&r2=810085&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java Tue Sep 1 15:06:23 2009
@@ -757,10 +757,10 @@
throws Throwable
{
test054(0);
- int numThreads = 100;
+ int numThreads = 10;
IohParallelWorker wo = new IohParallelWorker();
TestParallel pt = new TestParallel(numThreads);
- int rv = pt.run(wo, wo, 1000);
+ int rv = pt.run(wo, wo, 100);
int nc = test054(0);
System.out.println();
System.out.println("Parallel test status " + rv);