public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Prototype jni/Itimer, enable more tests. Date: Wed, 21 May 2008 20:09:00 -0000 [thread overview] Message-ID: <20080521200904.10270.qmail@sourceware.org> (raw) 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
reply other threads:[~2008-05-21 20:09 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080521200904.10270.qmail@sourceware.org \ --to=cagney@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).