public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Implement JNI AuxvBuilder.
@ 2008-05-20 11:55 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-05-20 11:55 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  24e628ca394f14d40fb4b297b2ad949cba3c2fa6 (commit)
       via  1e7606a84852dcd4ed85b33ad497f7caced38a97 (commit)
       via  2f73c8693d751a9a55131bc9c46716a229c6a953 (commit)
       via  305cad42d3256e6c8d028574ab425e6e3cdd1da4 (commit)
       via  a566d43935b6ca68ff3d97d1f422edf270c06f8f (commit)
       via  57d7b20b506aa959b7ea2541af6aedef09308e5c (commit)
      from  68fefadcd7878a491927faf628081163af926bd0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 24e628ca394f14d40fb4b297b2ad949cba3c2fa6
Author: Andrew Cagney <cagney@redhat.com>
Date:   Tue May 20 07:50:45 2008 -0400

    Implement JNI AuxvBuilder.
    
    frysk-sys/frysk/sys/proc/ChangeLog
    2008-05-20  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/AuxvBuilder.cxx: Implement.
    
    frysk-sys/frysk/sys/ptrace/ChangeLog
    2008-05-20  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/AddressSpace.cxx: Update; ByteArrayElements renamed to
    	ArrayBytes.
    	* jni/RegisterSet.cxx: Ditto.
    
    frysk-sys/jnixx/ChangeLog
    2008-05-20  Andrew Cagney  <cagney@redhat.com>
    
    	* elements.hxx (class ArrayBytes): Rename ByteArrayElements.  Add
    	length field, extend ByteArray, rename "p" to elements.
    	(class Bytes): New.
    	(class FileBytes): New.
    	* elements.cxx (class FileBytes): Implement.

commit 1e7606a84852dcd4ed85b33ad497f7caced38a97
Author: Andrew Cagney <cagney@redhat.com>
Date:   Sat May 17 14:29:20 2008 -0400

    Fix parameters to getRawSet.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/SignalSet.hxx (getRawSet): Add env parameter.
    	* jni/Wait.cxx (Wait::wait): Update.

commit 2f73c8693d751a9a55131bc9c46716a229c6a953
Author: Andrew Cagney <cagney@redhat.com>
Date:   Sat May 17 14:23:07 2008 -0400

    Implement JNi SignalSet.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/SignalSet.cxx: Implement in jni.
    
    frysk-sys/jnixx/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/Native.cxx: Use new/delete.  Don't #include <malloc.h>.
    	* elements.cxx: Ditto.

commit 305cad42d3256e6c8d028574ab425e6e3cdd1da4
Author: Andrew Cagney <cagney@redhat.com>
Date:   Sat May 17 13:44:45 2008 -0400

    Eliminate RawDataManaged from SignalSet.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* TestFork.java: Use SignalSet.setProcMask().
    	* SignalSet.java: Eliminate RawDataManaged
    	* cni/SignalSet.cxx: Update.

commit a566d43935b6ca68ff3d97d1f422edf270c06f8f
Author: Andrew Cagney <cagney@redhat.com>
Date:   Sat May 17 10:54:04 2008 -0400

    Really throw/catch a java::lang::Throwable in JNIXX.
    
    frysk-common/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* Makefile.gen.sh (jnixx_sources): Fix path to sources.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/SignalSet.hxx: New.
    	* jni/Wait.cxx (processStatus): Catch java::lang::Throwable.
    
    frysk-sys/jnixx/ChangeLog
    2008-05-17  Andrew Cagney  <cagney@redhat.com>
    
    	* TestJnixx.java (testThrowCatch()): New.
    	(testRethrowCatch()): New.
    	* JniBindings.java: Add IsInstanceOf.  Generate
    	throwPendingException.
    	* jnixx.hxx (jnixx::exception): Delete.
    	(jnixx::env::throwPendingException()): New.
    	* PrintHxxDefinitions.java: Don't check for NULL objects.
    	* PrintCxxDefinitions.java: Generate catch java::lang::Throwable.
    	* exceptions.cxx (runtimeException): Catch java::lang::Throwable.
    	* print.cxx (vajprintf): Ditto.

commit 57d7b20b506aa959b7ea2541af6aedef09308e5c
Author: Andrew Cagney <cagney@redhat.com>
Date:   Fri May 16 15:47:47 2008 -0400

    Prototype JNI Wait.cxx.
    
    frysk-sys/ChangeLog
    2008-05-16  Andrew Cagney  <cagney@redhat.com>
    
    	* Makefile.am (JNIXX_CLASSES): Add Errno$Esrch.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-16  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/Wait.cxx: Convert to JNI.

-----------------------------------------------------------------------

Summary of changes:
 frysk-common/ChangeLog                             |    4 +
 frysk-common/Makefile.gen.sh                       |    2 +-
 frysk-sys/ChangeLog                                |    4 +
 frysk-sys/Makefile.am                              |    1 +
 frysk-sys/frysk/sys/ChangeLog                      |   18 +
 frysk-sys/frysk/sys/SignalSet.java                 |  132 ++++--
 frysk-sys/frysk/sys/TestFork.java                  |    5 +-
 frysk-sys/frysk/sys/cni/SignalSet.cxx              |  113 ++---
 frysk-sys/frysk/sys/jni/SignalSet.cxx              |  127 +++++-
 .../frysk/sys/jni/{SignalSet.cxx => SignalSet.hxx} |    4 +-
 frysk-sys/frysk/sys/jni/Wait.cxx                   |  554 +++++++++++++++++++-
 frysk-sys/frysk/sys/proc/ChangeLog                 |    4 +
 frysk-sys/frysk/sys/proc/jni/AuxvBuilder.cxx       |  162 ++++++-
 frysk-sys/frysk/sys/ptrace/ChangeLog               |    6 +
 frysk-sys/frysk/sys/ptrace/jni/AddressSpace.cxx    |   12 +-
 frysk-sys/frysk/sys/ptrace/jni/RegisterSet.cxx     |    6 +-
 frysk-sys/jnixx/ChangeLog                          |   24 +
 frysk-sys/jnixx/JniBindings.java                   |  124 ++++--
 frysk-sys/jnixx/Native.java                        |   14 +-
 frysk-sys/jnixx/PrintCxxDefinitions.java           |    5 +-
 frysk-sys/jnixx/PrintHxxDefinitions.java           |    3 -
 frysk-sys/jnixx/TestJnixx.java                     |   18 +
 frysk-sys/jnixx/cni/Native.cxx                     |   16 +
 frysk-sys/jnixx/elements.cxx                       |   88 +++-
 frysk-sys/jnixx/elements.hxx                       |   36 +-
 frysk-sys/jnixx/exceptions.cxx                     |    2 +-
 frysk-sys/jnixx/jni/Native.cxx                     |   23 +-
 frysk-sys/jnixx/jnixx.hxx                          |  400 +++++++-------
 frysk-sys/jnixx/print.cxx                          |    2 +-
 29 files changed, 1528 insertions(+), 381 deletions(-)
 copy frysk-sys/frysk/sys/jni/{SignalSet.cxx => SignalSet.hxx} (95%)

First 500 lines of diff:
diff --git a/frysk-common/ChangeLog b/frysk-common/ChangeLog
index c04030d..29024e3 100644
--- a/frysk-common/ChangeLog
+++ b/frysk-common/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-17  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.gen.sh (jnixx_sources): Fix path to sources.
+
 2008-05-15  Tim Moore  <timoore@redhat.com>
 
 	* Makefile.rules (AM_CXXFLAGS): Add elfutils/{libasm,libebl}.
diff --git a/frysk-common/Makefile.gen.sh b/frysk-common/Makefile.gen.sh
index b59a71c..fa8f15d 100755
--- a/frysk-common/Makefile.gen.sh
+++ b/frysk-common/Makefile.gen.sh
@@ -897,7 +897,7 @@ lib${GEN_DIRNAME}-jni.so: lib${GEN_DIRNAME}-jni.a
 .PHONY: jni
 jni: lib${GEN_DIRNAME}-jni.so ${GEN_DIRNAME}.jar
 lib${GEN_MAKENAME}_jni_a_SOURCES += jni.cxx
-jnixx_sources = \$(wildcard \$(root_srcdir)/frysk-sys/frysk/jnixx/*.java)
+jnixx_sources = \$(wildcard \$(root_srcdir)/frysk-sys/jnixx/*.java)
 CLEANFILES += jni.hxx jni.cxx jni.hxx.gch
 \$(lib${GEN_MAKENAME}_jni_a_SOURCES): | jni.hxx jni.hxx.gch
 jni.hxx: \$(jnixx_sources) | ${GEN_DIRNAME}.jar
diff --git a/frysk-sys/ChangeLog b/frysk-sys/ChangeLog
index 90559a4..659ac0b 100644
--- a/frysk-sys/ChangeLog
+++ b/frysk-sys/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-16  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.am (JNIXX_CLASSES): Add Errno$Esrch.
+
 2008-05-15  Tim Moore  <timoore@redhat.com>
 
 	* Makefile.am (GEN_GCJ_LDADD_LIST): Add elfutils/libasm/libasm.a.
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index 90644c4..7aed15f 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -75,6 +75,7 @@ lib/unwind/Unwind%.java: lib/unwind/Unwind.java
 # explicitly add them here.
 JNIXX_CLASSES += frysk.sys.ProcessIdentifierFactory
 JNIXX_CLASSES += java.lang.ArrayIndexOutOfBoundsException
+JNIXX_CLASSES += frysk.sys.Errno$$Esrch
 \f
 
 # Quick hack to get a test JNI program up-and-running; as a package is
diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog
index e51e955..f8c40c3 100644
--- a/frysk-sys/frysk/sys/ChangeLog
+++ b/frysk-sys/frysk/sys/ChangeLog
@@ -1,3 +1,21 @@
+2008-05-17  Andrew Cagney  <cagney@redhat.com>
+
+	* jni/SignalSet.hxx (getRawSet): Add env parameter.
+	* jni/Wait.cxx (Wait::wait): Update.
+
+	* jni/SignalSet.cxx: Implement in jni.
+
+	* TestFork.java: Use SignalSet.setProcMask().
+	* SignalSet.java: Eliminate RawDataManaged
+	* cni/SignalSet.cxx: Update.
+
+	* jni/SignalSet.hxx: New.
+	* jni/Wait.cxx (processStatus): Catch java::lang::Throwable.
+	
+2008-05-16  Andrew Cagney  <cagney@redhat.com>
+
+	* jni/Wait.cxx: Convert to JNI.
+
 2008-05-14  Andrew Cagney  <cagney@redhat.com>
 
 	* jni/Fork.cxx: Update #includes for jnixx rename.
diff --git a/frysk-sys/frysk/sys/SignalSet.java b/frysk-sys/frysk/sys/SignalSet.java
index bc40158..519a921 100644
--- a/frysk-sys/frysk/sys/SignalSet.java
+++ b/frysk-sys/frysk/sys/SignalSet.java
@@ -39,30 +39,26 @@
 
 package frysk.sys;
 
-import gnu.gcj.RawDataManaged;
-
 /**
  * A Signal Set, corresponds to <tt>sigset_t</tt>.
  */
 
-public final class SignalSet
-{
-    private RawDataManaged rawSet;
-    private native RawDataManaged newRawSet ();
+public final class SignalSet {
+    private long rawSet;
+    private native static long malloc();
+    private native static void free(long rawSet);
 
     /**
      * Return a pointer to the underlying sigset_t buffer.
      */
-    RawDataManaged getRawSet ()
-    {
+    long getRawSet() {
 	return rawSet;
     }
     /**
      * Create an empty signal set.
      */
-    public SignalSet ()
-    {
-	rawSet = newRawSet ();
+    public SignalSet() {
+	rawSet = malloc();
     }
     /**
      * Create a SigSet containing the signals in the array.
@@ -79,11 +75,17 @@ public final class SignalSet
 	add(sig);
     }
 
+    protected void finalize() {
+	if (rawSet != 0) {
+	    free(rawSet);
+	    rawSet = 0;
+	}
+    }
+
     /**
      * As a string.
      */
-    public String toString()
-    {
+    public String toString() {
 	Signal[] sigs = toArray();
 	StringBuffer s = new StringBuffer("{");
 	for (int i = 0; i < sigs.length; i++) {
@@ -115,90 +117,136 @@ public final class SignalSet
     /**
      * Empty the signal set; return this.
      */
-    public native SignalSet empty ();
+    public SignalSet empty() {
+	empty(rawSet);
+	return this;
+    }
+    private static native void empty(long rawSet);
     /**
      * Fill the signal set; return this.
      */
-    public native SignalSet fill ();
+    public SignalSet fill() {
+	fill(rawSet);
+	return this;
+    }
+    private static native void fill(long rawSet);
     /**
      * Add sigNum to the SignalSet; return this.
      */
-    public native SignalSet add(Signal sig);
+    public SignalSet add(Signal sig) {
+	add(rawSet, sig.intValue());
+	return this;
+    }
+    private static native void add(long rawSet, int sig);
     /**
      * Add the array of signals to the SignalSet; return this.
      */
     public SignalSet add(Signal[] sigs) {
 	for (int i = 0; i < sigs.length; i++) {
             if (sigs[i] != null)
-		add(sigs[i]);
+		add(rawSet, sigs[i].intValue());
 	}
 	return this;
     }
     /**
      * The number of elements in the set.
      */
-    public native int size();
+    public int size() {
+	return size(rawSet);
+    }
+    private static native int size(long rawSet);
     /**
      * Remove Signal from the SignalSet (the underlying code uses
      * <tt>sigdelset</tt>, the name remove is more consistent with
      * java); return this.
      */
-    public native SignalSet remove (Signal sig);
+    public SignalSet remove(Signal sig) {
+	remove(rawSet, sig.intValue());
+	return this;
+    }
+    private static native void remove(long rawSet, int sig);
     /** 
      * Does this SignalSet contain sigNum (the underlying code uses
      * <tt>sigismember</tt>, the name contains is more consistent with
      * java.
      */
-    public native boolean contains (Signal sig);
+    public boolean contains(Signal sig) {
+	return contains(rawSet, sig.intValue());
+    }
+    private static native boolean contains(long rawSet, int sig);
 
     /**
-     * Get the pending set of signals; return this
+     * Set to the set of pending signals; return this
      */
-    public native SignalSet getPending ();
+    public SignalSet getPending() {
+	getPending(rawSet);
+	return this;
+    }
+    private static native void getPending(long rawSet);
     /**
      * Suspend the thread, unblocking signals in SignalSet; return this.
      */
-    public native SignalSet suspend ();
+    public SignalSet suspend() {
+	suspend(rawSet);
+	return this;
+    }
+    private static native void suspend(long rawSet);
 
     /**
-     * Block this SignalSet's signals; if oldSet is non-null, return the
-     * previous signal set; return this.
+     * Block this SignalSet's signals; return the previous signal set
+     * in oldSet; return this.
      */
-    public native SignalSet blockProcMask (SignalSet oldSet);
+    public SignalSet blockProcMask(SignalSet oldSet) {
+	blockProcMask(rawSet, oldSet.rawSet);
+	return this;
+    }
+    private static native void blockProcMask(long rawSet, long oldSet);
     /**
      * Block this SignalSet's signals; return this.
      */
-    public SignalSet blockProcMask ()
-    {
-	return blockProcMask (null);
+    public SignalSet blockProcMask() {
+	blockProcMask(rawSet, 0);
+	return this;
     }
     /**
-     * Unblock this SignalSet's signals; if oldSet is non-null, return
-     * the previous signal set; return this.
+     * Unblock this SignalSet's signals; return the previous signal
+     * set in oldSet; return this.
      */
-    public native SignalSet unblockProcMask (SignalSet oldSet);
+    public SignalSet unblockProcMask(SignalSet oldSet) {
+	unblockProcMask(rawSet, oldSet.rawSet);
+	return this;
+    }
+    private static native void unblockProcMask(long rawSet, long oldSet);
     /**
      * Unblock this SignalSet's signals; return this.
      */
-    public SignalSet unblockProcMask ()
-    {
-	return unblockProcMask (null);
+    public SignalSet unblockProcMask() {
+	unblockProcMask(rawSet, 0);
+	return this;
     }
     /**
-     * Set the signal mask to this SignalSet's signals; if oldSet is
-     * non-null, return the previous signal set; return this.
+     * Set the thread's signal mask to this SignalSet's signals;
+     * return the previous signal set in oldSet.
      */
-    public native SignalSet setProcMask (SignalSet oldSet);
+    public SignalSet setProcMask(SignalSet oldSet) {
+	setProcMask(rawSet, oldSet.rawSet);
+	return this;
+    }
+    private static native void setProcMask(long rawSet, long oldSet);
     /**
      * Set the process signal mask to this SignalSet's signals; return
      * this.
      */
-    public SignalSet setProcMask ()
-    {
-	return setProcMask (null);
+    public SignalSet setProcMask() {
+	setProcMask(rawSet, 0);
+	return this;
     }
     /**
      * Get the current process signal mask; return this.
      */
-    public native SignalSet getProcMask ();
+    public SignalSet getProcMask() {
+	getProcMask(rawSet);
+	return this;
+    }
+    private static native void getProcMask(long rawSet);
 }
diff --git a/frysk-sys/frysk/sys/TestFork.java b/frysk-sys/frysk/sys/TestFork.java
index 64cbf68..82ba7a9 100644
--- a/frysk-sys/frysk/sys/TestFork.java
+++ b/frysk-sys/frysk/sys/TestFork.java
@@ -56,10 +56,9 @@ public class TestFork extends TestCase {
     /**
      * Rip down everything related to PID.
      */
-    public void tearDown ()
-    {
+    public void tearDown() {
 	TearDownProcess.tearDown ();
-	defaultSignalSet.setProcMask(null);
+	defaultSignalSet.setProcMask();
     }
  
     /**
diff --git a/frysk-sys/frysk/sys/cni/SignalSet.cxx b/frysk-sys/frysk/sys/cni/SignalSet.cxx
index e18d66e..45ea662 100644
--- a/frysk-sys/frysk/sys/cni/SignalSet.cxx
+++ b/frysk-sys/frysk/sys/cni/SignalSet.cxx
@@ -42,7 +42,6 @@
 #include <stdio.h>
 
 #include <gcj/cni.h>
-#include <gnu/gcj/RawDataManaged.h>
 
 #include "frysk/sys/SignalSet.h"
 #include "frysk/sys/Signal.h"
@@ -50,127 +49,109 @@
 #include "frysk/sys/cni/Errno.hxx"
 
 sigset_t *
-getRawSet (frysk::sys::SignalSet* set)
-{
-  return (sigset_t*) set->getRawSet ();
+getRawSet(frysk::sys::SignalSet* set) {
+  return (sigset_t*) set->getRawSet();
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::fill ()
-{
+void
+frysk::sys::SignalSet::fill(jlong rawSet) {
   sigset_t *sigset = (sigset_t*) rawSet;
-  ::sigfillset (sigset);
-  return this;
+  ::sigfillset(sigset);
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::remove (frysk::sys::Signal* sig)
-{
+void
+frysk::sys::SignalSet::remove(jlong rawSet, jint sig) {
   sigset_t *sigset = (sigset_t*) rawSet;
-  ::sigdelset (sigset, sig->hashCode ());
-  return this;
+  ::sigdelset(sigset, sig);
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::add (frysk::sys::Signal* sig)
-{
+void
+frysk::sys::SignalSet::add(jlong rawSet, jint sig) {
   sigset_t *sigset = (sigset_t*) rawSet;
-  ::sigaddset (sigset, sig->hashCode ());
-  return this;
+  ::sigaddset(sigset, sig);
 }
 
 jboolean
-frysk::sys::SignalSet::contains (frysk::sys::Signal* sig)
-{
+frysk::sys::SignalSet::contains(jlong rawSet, jint sig) {
   sigset_t *sigset = (sigset_t*) rawSet;
-  return ::sigismember (sigset, sig->hashCode ());
+  return ::sigismember(sigset, sig);
 }
 
-gnu::gcj::RawDataManaged *
-frysk::sys::SignalSet::newRawSet ()
-{
-  sigset_t* sigset = (sigset_t*) JvAllocBytes (sizeof (sigset_t));
-  ::sigemptyset (sigset);
-  return (gnu::gcj::RawDataManaged*) sigset;
+jlong
+frysk::sys::SignalSet::malloc() {
+  sigset_t* sigset = (sigset_t*) JvMalloc (sizeof (sigset_t));
+  ::sigemptyset(sigset);
+  return (long)(void*)sigset;
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::empty ()
-{
+void
+frysk::sys::SignalSet::free(jlong rawSet) {
   sigset_t *sigset = (sigset_t*) rawSet;
-  ::sigemptyset (sigset);
-  return this;
+  JvFree(sigset);
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::getPending ()
-{
+void
+frysk::sys::SignalSet::empty(jlong rawSet) {
+  sigset_t *sigset = (sigset_t*) rawSet;
+  ::sigemptyset(sigset);
+}
+
+void
+frysk::sys::SignalSet::getPending(jlong rawSet) {
   sigset_t *sigset = (sigset_t*) rawSet;
   errno = 0;
-  if (::sigpending (sigset) < 0)
-    throwErrno (errno, "sigpending");
-  return this;
+  if (::sigpending(sigset) < 0)
+    throwErrno(errno, "sigpending");
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::suspend()
-{
+void
+frysk::sys::SignalSet::suspend(jlong rawSet) {
   sigset_t *sigset = (sigset_t*) rawSet;
   errno = 0;
-  ::sigsuspend (sigset); // always fails with EINTR.
+  ::sigsuspend(sigset); // always fails with EINTR.
   if (errno != EINTR)
     throwErrno (errno, "sigsuspend");
-  return this;
 }
 
 \f
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::blockProcMask (frysk::sys::SignalSet* oset)
-{
+void
+frysk::sys::SignalSet::blockProcMask(jlong rawSet, jlong oset) {
   sigset_t *set = (sigset_t*) rawSet;
-  sigset_t* old = (sigset_t*) (oset == NULL ? NULL : oset->rawSet);
+  sigset_t* old = (sigset_t*) oset;
   errno = 0;
-  if (::sigprocmask (SIG_BLOCK, set, old) < 0)
+  if (::sigprocmask(SIG_BLOCK, set, old) < 0)
     throwErrno (errno, "sigprocmask.SIG_BLOCK");
-  return this;
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::unblockProcMask (frysk::sys::SignalSet* oset)
-{
+void
+frysk::sys::SignalSet::unblockProcMask(jlong rawSet, jlong oset) {
   sigset_t *set = (sigset_t*) rawSet;
-  sigset_t* old = (sigset_t*) (oset == NULL ? NULL : oset->rawSet);
+  sigset_t* old = (sigset_t*) oset;
   errno = 0;
   if (::sigprocmask (SIG_UNBLOCK, set, old) < 0)
     throwErrno (errno, "sigprocmask.SIG_UNBLOCK");
-  return this;
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::setProcMask (frysk::sys::SignalSet* oset)
-{
+void
+frysk::sys::SignalSet::setProcMask (jlong rawSet, jlong oset) {
   sigset_t *set = (sigset_t*) rawSet;
-  sigset_t* old = (sigset_t*) (oset == NULL ? NULL : oset->rawSet);
+  sigset_t* old = (sigset_t*) oset;
   errno = 0;
   if (::sigprocmask (SIG_SETMASK, set, old) < 0)
     throwErrno (errno, "sigprocmask.SIG_SETMASK");
-  return this;
 }
 
-frysk::sys::SignalSet*
-frysk::sys::SignalSet::getProcMask ()
-{
+void
+frysk::sys::SignalSet::getProcMask(jlong rawSet) {
   sigset_t *set = (sigset_t*) rawSet;
   errno = 0;
   if (::sigprocmask (SIG_SETMASK, NULL, set) < 0)
     throwErrno (errno, "sigprocmask.SIG_SETMASK");
-  return this;
 }
 


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-05-20 11:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-20 11:55 [SCM] master: Implement JNI AuxvBuilder cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).