public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Prototype jni/Itimer, enable more tests.
@ 2008-05-21 20:09 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-05-21 20:09 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  eb91978115196ab2815ba04f4145f65088737050 (commit)
      from  ad8717e86fe645e8239b42c9604905a7bfb71e53 (commit)

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

- Log -----------------------------------------------------------------
commit eb91978115196ab2815ba04f4145f65088737050
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed May 21 16:07:49 2008 -0400

    Prototype jni/Itimer, enable more tests.
    
    frysk-sys/ChangeLog
    2008-05-21  Andrew Cagney  <cagney@redhat.com>
    
    	* Makefile.am (JniRunner): Test frysk.expunit, frysk.sys.proc,
    	frysk.sys.TestProcessIdentifier, frysk.sys.TestSignal,
    	frysk.sys.TestSignalSet.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-21  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/Itimer.cxx: Implement.

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

Summary of changes:
 frysk-sys/ChangeLog                |    6 +++++
 frysk-sys/Makefile.am              |   13 ++++++++---
 frysk-sys/frysk/sys/ChangeLog      |    2 +
 frysk-sys/frysk/sys/jni/Itimer.cxx |   41 +++++++++++++++++++++++++++++++++++-
 4 files changed, 57 insertions(+), 5 deletions(-)

First 500 lines of diff:
diff --git a/frysk-sys/ChangeLog b/frysk-sys/ChangeLog
index 659ac0b..6536b04 100644
--- a/frysk-sys/ChangeLog
+++ b/frysk-sys/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-21  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.am (JniRunner): Test frysk.expunit, frysk.sys.proc,
+	frysk.sys.TestProcessIdentifier, frysk.sys.TestSignal,
+	frysk.sys.TestSignalSet.
+
 2008-05-16  Andrew Cagney  <cagney@redhat.com>
 
 	* Makefile.am (JNIXX_CLASSES): Add Errno$Esrch.
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index 7aed15f..ac8043b 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -93,12 +93,17 @@ JniRunner: | frysk-sys.jar libfrysk-sys-jni.so
 	echo "$(CLASSPATH):frysk-sys.jar:JniRunner.jar"		>> $@.tmp
 	echo "if test \$$# -eq 0 ; then"			>> $@.tmp
 	echo "  $(JAVA) JniRunner \\"				>> $@.tmp
-	echo "    lib.stdcpp \\"				>> $@.tmp
-	echo "    frysk.rsl \\"					>> $@.tmp
-	echo "    frysk.junit \\"				>> $@.tmp
 	echo "    frysk.config \\"				>> $@.tmp
-	echo "    jnixx \\"					>> $@.tmp
+	echo "    frysk.expunit \\"				>> $@.tmp
+	echo "    frysk.junit \\"				>> $@.tmp
+	echo "    frysk.rsl \\"					>> $@.tmp
+	echo "    frysk.sys.proc \\"				>> $@.tmp
+	echo "    frysk.sys.TestProcessIdentifier \\"		>> $@.tmp
+	echo "    frysk.sys.TestSignal \\"			>> $@.tmp
+	echo "    frysk.sys.TestSignalSet \\"			>> $@.tmp
 	echo "    inua \\"					>> $@.tmp
+	echo "    jnixx \\"					>> $@.tmp
+	echo "    lib.stdcpp \\"				>> $@.tmp
 	echo "    ;"						>> $@.tmp
 	echo "else"						>> $@.tmp
 	echo "  $(JAVA) JniRunner \"\$$@\""			>> $@.tmp
diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog
index 13d7a5c..ad2a3f3 100644
--- a/frysk-sys/frysk/sys/ChangeLog
+++ b/frysk-sys/frysk/sys/ChangeLog
@@ -1,5 +1,7 @@
 2008-05-21  Andrew Cagney  <cagney@redhat.com>
 
+	* jni/Itimer.cxx: Implement.
+
 	* cni/PseudoTerminal.cxx: Delete stray include.
 
 	* FileDescriptor.java: Make native methods private.
diff --git a/frysk-sys/frysk/sys/jni/Itimer.cxx b/frysk-sys/frysk/sys/jni/Itimer.cxx
index b358932..88ba5a2 100644
--- a/frysk-sys/frysk/sys/jni/Itimer.cxx
+++ b/frysk-sys/frysk/sys/jni/Itimer.cxx
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2008, Red Hat Inc.
+// Copyright 2005, 2007, 2008, Red Hat Inc.
 //
 // FRYSK is free software; you can redistribute it and/or modify it
 // under the terms of the GNU General Public License as published by
@@ -37,4 +37,43 @@
 // version and license this file solely under the GPL without
 // exception.
 
+#include <signal.h>
+#include <sys/time.h>
+#include <errno.h>
+#include <unistd.h>
+
 #include "jni.hxx"
+
+#include "jnixx/exceptions.hxx"
+
+using namespace java::lang;
+using namespace frysk::sys;
+
+struct timeval
+timeval(jlong milliseconds) {
+  struct timeval val;
+  val.tv_sec = milliseconds / 1000;
+  val.tv_usec = (milliseconds % 1000) * 1000;
+  return val;
+}
+
+void
+setItimer(jnixx::env env, int which, jlong interval, jlong value) {
+  struct itimerval itimer;
+  itimer.it_interval = timeval (interval);
+  itimer.it_value = timeval (value);
+  errno = 0;
+  if (::setitimer (which, &itimer, NULL) < 0)
+    errnoException(env, errno, "setitimer");
+}
+
+Signal
+Itimer::real(jnixx::env env, jlong interval, jlong value) {
+  ::setItimer(env, ITIMER_REAL, interval, value);
+  return Signal::GetALRM(env);
+}
+
+jint
+Itimer::sleep(jnixx::env env, jint seconds) {
+  return ::sleep(seconds);
+}


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


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

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

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-21 20:09 [SCM] master: Prototype jni/Itimer, enable more tests 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).