Samuel Thibault
2a97f34e67
natPosixProcess.cc (sigchld_handler): Remove 'si' and 'third' parameters.
...
2007-08-15 Samuel Thibault <samuel.thibault@ens-lyon.org>
* java/lang/natPosixProcess.cc (sigchld_handler) [!SA_SIGINFO]: Remove
'si' and 'third' parameters. Disable calling
pmi->old_sigaction.sa_sigaction.
(java::lang::PosixProcess*ProcessManager::init) [!SA_SIGINFO]: Set
sa.sa_handler instead of sa.sa_sigaction, don't set SA_SIGINFO flag.
From-SVN: r127507
2007-08-15 08:19:32 +00:00
Roger Sayle
2b2271f8f0
natPosixProcess.cc: Include <sys/time.h> before <sys/resource.h> to restore bootstrap on...
...
* java/lang/natPosixProcess.cc: Include <sys/time.h> before
<sys/resource.h> to restore bootstrap on powerpc-apple-darwin7.9.0.
From-SVN: r126621
2007-07-13 13:53:43 +00:00
Andreas Tobler
f6cdc43257
natPosixProcess.cc: Reorder includes to fix compilation on hppa2.0w-hp-hpux11.11.
...
2007-07-05 Andreas Tobler <a.tobler@schweiz.org>
* java/lang/natPosixProcess.cc: Reorder includes to fix compilation
on hppa2.0w-hp-hpux11.11.
Remove include of <gcj/cni.h>.
From-SVN: r126388
2007-07-05 22:44:25 +02:00
David Daney
8c0dbf3490
re PR libgcj/29324 (add wait handling hook)
...
PR libgcj/29324
* include/posix-threads.h (_Jv_BlockSigchld): Declare.
(_Jv_UnBlockSigchld): Same.
* posix-threads.cc: Include posix-threads.h.
(block_sigchld) Rename to...
(_Jv_BlockSigchld) ... this.
(_Jv_UnBlockSigchld): New function.
(_Jv_InitThreads): Call _Jv_BlockSigchld in place of block_sigchld.
(_Jv_ThreadStart): Same.
* java/lang/PosixProcess$ProcessManager.h: Regenerate.
* java/lang/PosixProcess.java: Clean up imports.
(ProcessManager): Make final.
(ProcessManager.queue): Genericise and make private.
(ProcessManager.pidToProcess): Remove.
(ProcessManager.liveProcesses): New field.
(ProcessManager.reaperPID): Remove.
(ProcessManager.nativeData): New field.
(ProcessManager.removeProcessFromMap): Remove.
(ProcessManager.addProcessToMap):Remove.
(ProcessManager.addToLiveProcesses): New method.
(ProcessManager.run): Rewritten.
(ProcessManager.reap): Change method signature,
(getErrorStream): Correct formatting.
(getInputStream): Same.
(spawn): Add process to liveProcesses list.
(pid): Make package private.
* java/lang/PosixProcess.h: Regenerate.
* java/lang/natPosixProcess.cc: Include posix.h and posix-threads.h.
Add useing namespace java::lang.
(ProcessManagerInternal): New struct.
(sigchld_handler): Rewritten.
(init): Rewritten.
(waitForSignal): Same.
(reap): Same.
(signalReaper): Same.
(nativeDestroy): Call kill as ::kill.
(nativeSpawn): Correct formatting.
* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Regenerate.
* classpath/lib/java/lang/PosixProcess.class: Same.
* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.
From-SVN: r124638
2007-05-12 17:37:55 +00:00
David Daney
290b7f64b5
re PR libgcj/23758 (java::lang::ConcreteProcess::nativeSpawn unsafe)
...
PR libgcj/23758
* java/lang/natPosixProcess.cc (nativeSpawn): Move building of
environment before the fork.
* testsuite/libjava.lang/Process_7.java: New test.
* testsuite/libjava.lang/Process_7.out: Its expected results.
* testsuite/libjava.lang/Process_7.jar: Generated file.
From-SVN: r123676
2007-04-09 17:40:20 +00:00
David Daney
46ecc2bc5c
re PR libgcj/31228 (Race condition between setting close-on-exec and Runtime.exec())
...
PR libgcj/31228
* configure.ac: Add checks for getrlimit and sys/resource.h.
* include/posix.h (_Jv_platform_close_on_exec): Remove.
* include/config.h.in: Regenerate.
* configure: Regenerate.
* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
_Jv_platform_close_on_exec;
* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
(accept): Likewise.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
* java/lang/natPosixProcess.cc: Include sys/resource.h.
(nativeSpawn): Close all file descriptors. Don't set FD_CLOEXEC on
pipes.
From-SVN: r123138
2007-03-23 00:06:41 +00:00
Tom Tromey
f4a2a1deec
sources.am, [...]: Rebuilt.
...
* sources.am, Makefile.in: Rebuilt.
* scripts/makemake.tcl (emit_package_rule): Don't omit
VMProcess.java.
* Makefile.am (nat_source_files): Added natVMProcess.cc.
(inner_nat_headers): Added ImmediateEOFInputStream.h.
* gcj/javaprims.h: Regenerated.
* java/lang/System.java (EnvironmentMap): Now package-private.
(EnvironmentMap(Map)): New constructor.
(EnvironmentMap.put): New method.
* java/lang/natWin32Process.cc (startProcess): Update.
* java/lang/Win32Process.java (Win32Process): Added 'redirect'
argument.
(startProcess): Likewise.
* java/lang/EcosProcess.java (EcosProcess): Added 'redirect'
argument.
* java/lang/natPosixProcess.cc (nativeSpawn): Handle redirection.
* java/lang/PosixProcess.java (redirect): New field.
(PosixProcess): Added 'redirect' argument.
* java/lang/natRuntime.cc (execInternal): Added 'redirect'
argument to Process creation.
* java/lang/natVMProcess.cc: New file.
* java/lang/ProcessBuilder.java: Removed.
* java/lang/VMProcess.java: New file.
From-SVN: r122553
2007-03-05 15:57:13 +00:00
Tom Tromey
97b8365caf
Merged gcj-eclipse branch to trunk.
...
From-SVN: r120621
2007-01-09 19:58:05 +00:00
Tom Tromey
3e595be57a
* java/lang/natPosixProcess.cc (reap): Ignore unknown children.
...
From-SVN: r109383
2006-01-05 17:35:20 +00:00
Tom Tromey
230d8ead8c
PR libgcj/23763. From aeby@graeff.com.
...
* java/lang/natPosixProcess.cc (nativeSpawn): Unblock SIGCHLD
before exec.
From-SVN: r106655
2005-11-08 21:00:15 +00:00
Richard Henderson
72826319ff
natPosixProcess.cc (waitForSignal): Ignore return value of sigsuspend.
...
* java/lang/natPosixProcess.cc (waitForSignal): Ignore return
value of sigsuspend.
From-SVN: r87505
2004-09-14 13:09:31 -07:00
David Daney
720086cd84
natPosixProcess.cc (waitForSignal): Use sigsuspend instead of sigwait.
...
2004-08-18 David Daney <ddaney@avtrex.com>
* java/lang/natPosixProcess.cc (waitForSignal): Use sigsuspend
instead of sigwait.
From-SVN: r86186
2004-08-18 15:12:32 +00:00
David Daney
c58f29001d
re PR libgcj/11801 (Problems with Process.waitFor() and exitValue())
...
2004-08-12 David Daney <ddaney@avtrex.com>
PR libgcj/11801
* java/lang/PosixProcess.java: Rewrote.
* java/lang/natPosixProcess.cc: Rewrote.
* java/lang/Runtime.java (execInternal): Declare throws IOException.
* gcj/javaprims.h (ConcreteProcess$ProcessManager): Declare.
* posix-threads.cc (block_sigchld) New function.
(_Jv_ThreadRegister) Use it.
(_Jv_ThreadStart) Use it.
* configure.in (PLATFORM_INNER_NAT_HDRS): New AC_SUBST() used in...
* Makefile.am: ... to specify extra native headers.
* configure: Regenerated.
* include/config.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
From-SVN: r85880
2004-08-12 16:20:11 +00:00
Per Bothner
dd341087ac
* java/lang/natPosixProcess.cc (startProcess): Fix thinko.
...
From-SVN: r78725
2004-03-01 13:33:28 -08:00
Per Bothner
881ad9e405
natPosixProcess.cc (startProcess): Implement standard streams using FileChannelImpl, not FileDescriptor.
...
* java/lang/natPosixProcess.cc (startProcess): Implement standard
streams using FileChannelImpl, not FileDescriptor.
* java/lang/natWin32Process.cc (startProcess): Likewise.
From-SVN: r78664
2004-02-29 11:14:20 -08:00
Tom Tromey
2565abce54
natPosixProcess.cc (startProcess): Handle case where PATH or LD_LIBRARY_PATH is not set in parent environment.
...
* java/lang/natPosixProcess.cc (startProcess): Handle case where
PATH or LD_LIBRARY_PATH is not set in parent environment.
From-SVN: r77203
2004-02-04 00:07:19 +00:00
Tom Tromey
b86ca9a2dc
jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to JvGetStringUTFRegion.
...
* jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natPosixProcess.cc (new_string): Pass length of string
to JvGetStringUTFRegion.
* java/lang/natDouble.cc (parseDouble): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natWin32Process.cc (startProcess): Pass length of
string to JvGetStringUTFRegion.
* java/lang/natClass.cc (forName): Pass length of string to
JvGetStringUTFRegion.
* gnu/gcj/runtime/natNameFinder.cc (getExternalLabel): Pass length
of string to JvGetStringUTFRegion.
* gnu/gcj/convert/natIconv.cc (init): Pass length of string to
JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkLabelPeer.cc (setText): Pass length of string
to JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkButtonPeer.cc (setLabel): Pass length of
string to JvGetStringUTFRegion.
From-SVN: r73571
2003-11-14 01:48:30 +00:00
Jesse Rosenstock
093f02000f
natPosixProcess.cc (cleanup): Added `path' argument.
...
2002-08-14 Jesse Rosenstock <jmr@ugcs.caltech.edu>
* java/lang/natPosixProcess.cc (cleanup): Added `path' argument.
(startProcess): Allocate path for chdir in async-signal-safe way.
From-SVN: r56330
2002-08-14 19:53:54 +00:00
Jesse Rosenstock
eb812b2c15
Fix for PR libgcj/7570 and PR libgcj/7578:
...
2002-08-13 Jesse Rosenstock <jmr@ugcs.caltech.edu>
Fix for PR libgcj/7570 and PR libgcj/7578:
* java/lang/natPosixProcess.cc: Include java/io/File.h.
(startProcess): Handle new `dir' argument.
* java/lang/Win32Process.java (ConcreteProcess): Added `dir'
argument.
* java/lang/PosixProcess.java (ConcreteProcess): Added `dir'
argument.
(startProcess): Likewise.
* java/lang/EcosProcess.java (ConcreteProcess): Added `dir'
argument.
* java/lang/Runtime.java (execInternal): Added `dir' argument.
(exec): Don't create new environment if ENV==null. Pass DIR to
execInternal.
* java/lang/natRuntime.cc: Include java/io/File.h.
(execInternal): Added `dir' argument.
From-SVN: r56268
2002-08-14 01:07:59 +00:00
Tom Tromey
355526af2b
natPosixProcess.cc (fail): Removed.
...
* java/lang/natPosixProcess.cc (fail): Removed.
(startProcess): Simplified error-handling. Preserve
LD_LIBRARY_PATH across exec.
From-SVN: r50342
2002-03-06 05:13:58 +00:00
Tom Tromey
7fe4a89aed
natPosixProcess.cc (startProcess): Use FD_CLOEXEC, not `1'.
...
* java/lang/natPosixProcess.cc (startProcess): Use FD_CLOEXEC, not
`1'.
From-SVN: r50081
2002-02-27 01:39:30 +00:00
Tom Tromey
0c91936e40
natPosixProcess.cc (myclose): New function.
...
* java/lang/natPosixProcess.cc (myclose): New function.
(fail): Use it.
(startProcess): Likewise.
From-SVN: r49433
2002-02-02 07:43:16 +00:00
Bryce McKinlay
4f7279ab3e
PosixProcess.java (exitValue): Implement here.
...
* java/lang/PosixProcess.java (exitValue): Implement here. Throw
IllegalThreadStateException if process hasn't exited yet.
* java/lang/natPosixProcess.cc (exitValue): Removed.
(waitFor): Only check thread interrupted status if waitpid()
returned an error. Use WIFEXITED and WEXITSTATUS to process process's
exit value.
From-SVN: r45766
2001-09-24 05:51:50 +01:00
Richard Henderson
b3208f56cb
exception.cc (java_eh_info): Make value type jthrowable.
...
* exception.cc (java_eh_info): Make value type jthrowable.
(_Jv_type_matcher): Remove now unneeded cast.
(_Jv_Throw): Make argument type jthrowable. Munge name
for SJLJ_EXCEPTIONS here ...
* gcj/cni.h: ... not here.
(JvThrow): Remove.
* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
java/lang/natClass.cc, java/lang/natClassLoader.cc,
java/lang/natDouble.cc, java/lang/natObject.cc,
java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
java/lang/natString.cc, java/lang/natSystem.cc,
java/lang/natThread.cc, java/lang/reflect/natArray.cc,
java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
java/util/zip/natInflater.cc:
Use throw, not JvThrow or _Jv_Throw.
From-SVN: r40838
2001-03-25 23:05:32 -08:00
Tom Tromey
8ee4db6f3a
Fix for PR java.lang/339:
...
* java/lang/natPosixProcess.cc (fail): New function.
(cleanup): New function.
(startProcess): Use them. Create pipe so child can communicate
exec failure back to parent.
From-SVN: r36202
2000-09-06 18:14:15 +00:00
Tom Tromey
2ba5f77454
All files: Updated copyright information.
...
* All files: Updated copyright information.
* COPYING: New file.
* COPYING.LIB: Removed.
* LIBGCJ_LICENSE: We now use GPL + special exception.
From-SVN: r32387
2000-03-07 19:55:28 +00:00
Tom Tromey
7c734b1758
* All files: Updated copyright to reflect Cygnus purchase.
...
From-SVN: r31504
2000-01-19 18:39:27 +00:00
Tom Tromey
ce63fdce90
* java/lang/natPosixProcess.cc (startProcess): Don't use sprintf.
...
From-SVN: r30996
1999-12-17 16:06:17 +00:00
Tom Tromey
27e934d8ba
configure: Rebuilt.
...
* configure: Rebuilt.
* configure.in: Build include/Makefile.
* Makefile.in: Rebuilt.
* Makefile.am (SUBDIRS): Added gcj and include.
(install-data-local): New target.
(extra_headers): New macro.
* include/Makefile.in: New file.
* include/Makefile.am: New file.
* interpret.cc: Don't include gcj/field.h or gcj/cni.h.
* java/lang/reflect/natField.cc: Don't include gcj/field.h or
gcj/cni.h.
* boehm.cc: Don't include java-threads.h or gcj/field.h.
* resolve.cc: Include config.h.
* defineclass.cc: Include config.h.
* include/java-interp.h: Don't include config.h.
* include/jvm.h: Include java-threads.h, Object.h, java-gc.h,
cni.h.
* gcj/javaprims.h: Regenerated namespace decls.
* classes.pl (scan): Don't put `;' after closing brace.
* Makefile.in: Rebuilt.
* Makefile.am (INCLUDES): Added -I for top_srcdir.
* configure.in: Create gcj/Makefile.
* gcj/Makefile.in: New file.
* gcj/Makefile.am: New file.
* java/lang/Object.h: Don't include any other headers.
* gcj/array.h: Renamed from include/java-array.h.
* gcj/field.h: Renamed from include/java-field.h.
* gcj/method.h: Renamed from include/java-method.h.
* gcj/cni.h, gcj/javaprims.h: Moved from include/.
Updated all files to reflect new include structure.
From-SVN: r29278
1999-09-10 22:03:10 +00:00
Bryce McKinlay
1e45a14105
Runtime.java (exec): Convert prog name and arguments to string array.
...
* java/lang/Runtime.java (exec): Convert prog name and arguments
to string array.
* java/lang/natPosixProcess.cc (startProcess): Fix typo in
environment array conversion. Preserve current environment if envp
not passed. Preserve PATH unless explicitly specified.
* java/io/DataInputStream.java (readLine): Fix case where '\r' is
followed by EOF. Set a flag when a line is terminated by '\r' and
ignore following '\n' if set.
From-SVN: r27458
1999-06-09 18:42:26 +01:00
Tom Tromey
42962a480a
javaprims.h: Updated namespace declarations.
...
* include/javaprims.h: Updated namespace declarations.
* classes.pl (scan): Uniquify class list.
* Makefile.in, configure: Rebuilt.
* Makefile.am (nat_source_files): Added natConcreteProcess.cc.
(built_java_source_files): New macro.
(nat_headers): Added built_java_source_files.
(javao_files): Likewise.
(EXTRA_libgcj_la_SOURCES): Likewise.
(libgcj.zip): Create built class files.
($(built_java_source_files:.java=.class)): New target.
(jv_convert_LDADD): Added -L$(here)/.libs.
* configure.in: Create links for ConcreteProcess.java and
natConcreteProcess.cc.
* java/lang/Runtime.java (exec): Create a ConcreteProcess.
* java/lang/natEcosProcess.cc: New file.
* java/lang/EcosProcess.java: New file.
* java/lang/PosixProcess.java: New file.
* java/lang/natPosixProcess.cc: New file.
From-SVN: r26901
1999-05-12 11:23:44 +00:00