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/04 19:08:33 UTC

svn commit: r811495 - in /commons/sandbox/runtime/trunk/src: main/native/configure main/native/include/acr_error.h test/org/apache/commons/runtime/TestMemoryMap.java

Author: mturk
Date: Fri Sep  4 17:08:31 2009
New Revision: 811495

URL: http://svn.apache.org/viewvc?rev=811495&view=rev
Log:
Well it seems we can use SEH on unix. However calling memset and stuff for each poke is overhead. Some smarter thing needs to be made

Modified:
    commons/sandbox/runtime/trunk/src/main/native/configure
    commons/sandbox/runtime/trunk/src/main/native/include/acr_error.h
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java

Modified: commons/sandbox/runtime/trunk/src/main/native/configure
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/configure?rev=811495&r1=811494&r2=811495&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/configure (original)
+++ commons/sandbox/runtime/trunk/src/main/native/configure Fri Sep  4 17:08:31 2009
@@ -876,6 +876,7 @@
 #define HAVE_DUP3             `have_function dup3`
 #define HAVE_EPOLL_CREATE1    `have_function epoll_create1`
 #define HAVE_SIGSETJMP        `have_function sigsetjmp`
+#define HAVE_SIGACTION        `have_function sigaction`
 #define HAVE_SOCK_CLOEXEC     `have_flag_defined SOCK_CLOEXEC`
 #define HAVE_FILE_CLOEXEC     `have_flag_defined O_CLOEXEC`
 #define HAVE_OFF64_T          $have_off64t

Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_error.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_error.h?rev=811495&r1=811494&r2=811495&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_error.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_error.h Fri Sep  4 17:08:31 2009
@@ -71,7 +71,7 @@
 #include <setjmp.h>
 
 #if HAVE_SIGSETJMP
-#define SEH_SETJMP(E)        sigsetjmp((E), 0)
+#define SEH_SETJMP(E)        sigsetjmp((E), 1)
 #define SEH_DOJUMP(E, V)     siglongjmp((E), (V))
 #define SEH_JMPBUF           sigjmp_buf
 #else

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=811495&r1=811494&r2=811495&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 Fri Sep  4 17:08:31 2009
@@ -121,11 +121,18 @@
         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);
+        Throwable st = null;
+        int nt = 0;
+        for (int i = 0; i < 10; i++) {
+            try {
+                p1.poke(0, (byte)0xCA);
+            } catch (Throwable t) {
+                nt++;
+                if (st == null)
+                    st = t;
+            }
         }
+        System.out.println("Throwed (" + nt + ") " + st);
         map.close();
     }