From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21995 invoked by alias); 22 May 2008 01:54:25 -0000 Received: (qmail 21954 invoked by uid 367); 22 May 2008 01:54:23 -0000 Date: Thu, 22 May 2008 01:54:00 -0000 Message-ID: <20080522015423.21939.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Prototype jni/Pipe. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: d32811fe5f691be4fe7d8491b5129811dbdcd931 X-Git-Newrev: 6b1edf3fd6d721ae29fd96c54c70bde00920430c Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q2/txt/msg00269.txt.bz2 The branch, master has been updated via 6b1edf3fd6d721ae29fd96c54c70bde00920430c (commit) from d32811fe5f691be4fe7d8491b5129811dbdcd931 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 6b1edf3fd6d721ae29fd96c54c70bde00920430c Author: Andrew Cagney Date: Wed May 21 21:52:29 2008 -0400 Prototype jni/Pipe. ----------------------------------------------------------------------- Summary of changes: frysk-sys/frysk/sys/ChangeLog | 2 ++ frysk-sys/frysk/sys/jni/Pipe.cxx | 27 ++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletions(-) First 500 lines of diff: diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog index c2a024d..2f3a67b 100644 --- a/frysk-sys/frysk/sys/ChangeLog +++ b/frysk-sys/frysk/sys/ChangeLog @@ -1,5 +1,7 @@ 2008-05-21 Andrew Cagney + * jni/Pipe.cxx: Implement. + * Environ.java (putEnvironment(String[])): Change parameter from Object[] to String[]. * jni/Environ.cxx: Implement. diff --git a/frysk-sys/frysk/sys/jni/Pipe.cxx b/frysk-sys/frysk/sys/jni/Pipe.cxx index b358932..4b94701 100644 --- a/frysk-sys/frysk/sys/jni/Pipe.cxx +++ b/frysk-sys/frysk/sys/jni/Pipe.cxx @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2008, Red Hat Inc. +// Copyright 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,29 @@ // version and license this file solely under the GPL without // exception. +#include +#include +#include + #include "jni.hxx" + +#include "jnixx/exceptions.hxx" + +using namespace java::lang; +using namespace frysk::sys; + +jnixx::array +Pipe::pipe(jnixx::env env) { + const int nfds = 2; + int filedes[nfds]; + if (::pipe (filedes) < 0) { + errnoException(env, errno, "pipe"); + } + // printf ("pipe [%d, %d]\n", filedes[0], filedes[1]); + jnixx::array fds + = jnixx::array::NewObjectArray(env, nfds); + for (int i = 0; i < nfds; i++) { + fds.SetObjectArrayElement(env, i, FileDescriptor::New(env, filedes[i])); + } + return fds; +} hooks/post-receive -- frysk system monitor/debugger