Commit Graph

30 Commits

Author SHA1 Message Date
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 97b8365caf Merged gcj-eclipse branch to trunk.
From-SVN: r120621
2007-01-09 19:58:05 +00:00
Andreas Tobler d25f0ebc38 re PR libgcj/28226 (posix.cc:222: error: invalid conversion from 'const void*' to 'void*')
2006-07-04  Andreas Tobler  <a.tobler@schweiz.ch>

	PR libgcj/28226:
	* include/posix.h (_Jv_platform_dladdr): Remove const qualifier.
	* include/win32.h (_Jv_platform_dladdr): Likewise.
	* posix.cc (_Jv_platform_dladdr): Likewise.
	* win32.cc (_Jv_platform_dladdr): Likewise.

From-SVN: r115184
2006-07-04 22:21:40 +02:00
Ranjit Mathew 3379268423 javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in C99.
* gcj/javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in
	C99.
	* include/java-stack.h: Include stdlib.h.
	(_Jv_AddrInfo): New structure to hold address information.
	* include/posix.h (_Jv_platform_dladdr): Declare.
	* include/win32.h (_Jv_platform_dladdr): Declare.
	(backtrace): Remove declaration.
	* posix.cc: Include dlfcn.h if available.  Include java-stack.h.
	(_Jv_platform_dladdr): Define.
	* win32.cc: Include string.h.  Include java-stack.h.
	(backtrace): Remove.
	(_Jv_platform_dladdr): Define.
	* sysdep/i386/backtrace.h (fallback_backtrace): Check that a potential
	frame pointer value is 32-bit word-aligned.  Use operand of the CALL
	instruction calling the current function to find its starting address.
	* stacktrace.cc: Do not include dlfcn.h.  Include platform.h.
	(_Jv_StackTrace::getLineNumberForFrame): Use _Jv_platform_dladdr()
	instead of dladdr().
	(_Jv_StackTrace::GetStackTraceElements): Use nCodeMap even for Windows.
	(_Jv_StackTrace::GetClassContext): Use fallback_backtrace() for
	targets with SJLJ exceptions instead of using _Unwind_Backtrace().
	(_Jv_StackTrace::GetFirstNonSystemClassLoader): Likewise.

From-SVN: r115069
2006-06-29 14:57:39 +00:00
John David Anglin 5920d98110 configure.ac: Add sys/rw_lock.h to AC_CHECK_HEADERS.
* configure.ac: Add sys/rw_lock.h to AC_CHECK_HEADERS.
        * configure: Rebuilt.
        * include/config.h.in: Likewise.
	* include/posix.h: If HAVE_SYS_RW_LOCK_H is defined, include
	<sys/rw_lock.h>.

From-SVN: r114121
2006-05-25 23:19:12 +00:00
Andreas Tobler 68bfb94e7e configure.ac: Add the POSIX thread libs to the HP-UX PA configuration.
2006-05-20  Andreas Tobler  <a.tobler@schweiz.ch>
	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* configure.ac: Add the POSIX thread libs to the HP-UX PA
	configuration. Add signal specification for HP-UX PA.
	* configure: Rebuilt.
	* configure.host: Add defaults for the HP-UX PA architecture.
	Add descriptor files for HP-UX PA 32-bit and 64-bit.
	* include/hppa-signal.h: New file.
	* include/posix.h: Add shared library suffix for HP-UX.
	* sysdep/pa/descriptor-pa32-hpux.h: New file.
	* sysdep/pa/descriptor-pa64-hpux.h: Likewise.

Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>

From-SVN: r113937
2006-05-20 23:33:07 +02:00
Tom Tromey e59a1e40f3 win32.cc (_Jv_platform_nanotime): New function.
* win32.cc (_Jv_platform_nanotime): New function.
	* include/win32.h (_Jv_platform_nanotime): Declare.
	* posix.cc (_Jv_platform_nanotime): New function.
	* include/posix.h (_Jv_platform_nanotime): Declare.
	* java/lang/natSystem.cc (nanoTime): New method.
	* java/lang/System.java (nanoTime): Declare.
	* include/config.h.in, configure: Rebuilt.
	* configure.ac: Check for clock_gettime.

From-SVN: r111869
2006-03-09 18:47:54 +00:00
Mike Stump 4148df124f posix.h: .dylib is used on all Apple MACH platforms.
* include/posix.h: .dylib is used on all Apple MACH platforms.
        * java/lang/ieeefp.h: ppc64 is also __IEEE_BIG_ENDIAN.

From-SVN: r96889
2005-03-22 20:10:16 +00:00
Mohan Embar ef050c9e23 win32.cc: (_Jv_pipe) Implemented.
* win32.cc: (_Jv_pipe) Implemented.
	* gnu/java/nio/natPipeImpl.cc: (nativeInit) Use
	_Jv_pipe instead of ::pipe.
	* include/posix.h: (_Jv_pipe) New inline.
	* include/win32.h: (_Jv_pipe) New declaration.

From-SVN: r72616
2003-10-17 18:44:42 +00:00
Rainer Orth 6b3517eaf5 configure.in: Check for usleep declaration.
* configure.in: Check for usleep declaration.
	* acconfig.h (HAVE_USLEEP_DECL): Provide template.
	* configure: Regenerate.
	* include/config.h.in: Likewise.
	* include/posix.h [!HAVE_USLEEP_DECL]: Declare usleep.

From-SVN: r69041
2003-07-07 14:11:09 +00:00
Michael Koch 248e983efb 2003-06-07 Michael Koch <konqueror@gmx.de>
* include/posix.h
	(O_DSYNC): Define O_DSYNC on platforms not
	supporting O_FSYNC (newlib).

From-SVN: r67587
2003-06-07 14:30:32 +00:00
Loren J. Rittle 49c72d225b posix.h (O_SYNC): Define if not available and a reasonable...
* libjava/include/posix.h (O_SYNC): Define if not available
	and a reasonable, perhaps more conservative, replacement exists.
	(O_DSYNC): Likewise.
	* java/io/natFileDescriptorPosix.cc (open): Revert last patch.

From-SVN: r67517
2003-06-05 22:37:02 +00:00
Andreas Tobler dcde977582 posix.h: Add suffix for darwin dynamic libraries.
2003-03-22  Andreas Tobler <a.tobler@schweiz.ch>

        * include/posix.h: Add suffix for darwin dynamic libraries.

From-SVN: r64705
2003-03-22 11:56:44 +01:00
Tom Tromey 2b7f1f8f41 resolve.cc (ncode): Use _Jv_platform_ffi_abi.
* resolve.cc (ncode): Use _Jv_platform_ffi_abi.
	Include platform.h.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_platform_path_separator.
	(nativeGetLibname): Use _Jv_platform_file_separator.
	(_load): Use _Jv_platform_onload_names.
	(onload_names): New global.
	* include/win32.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.
	* include/posix.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.

From-SVN: r64461
2003-03-17 00:45:37 +00:00
Rainer Orth a191802c42 natStackTrace.cc: Include platform.h immediately after config.h.
* gnu/gcj/runtime/natStackTrace.cc: Include platform.h immediately
	after config.h.  Use <> for consistency.
	* java/lang/natObject.cc: Likewise.
	* java/lang/natRuntime.cc: Likewise.
	* java/lang/natSystem.cc: Likewise.
	* java/util/natTimeZone.cc: Likewise.
	* win32.cc: Likewise.
	* include/posix.h (fcntl, socket, connect, close, bind, accept,
	listen, write, read): Undef to avoid interference from OS macros.

From-SVN: r63122
2003-02-19 16:28:37 +00:00
Tom Tromey 6ec628973a posix.h (_Jv_platform_usleep): Wrap in ifdef JV_HASH_SYNCHRONIZATION.
* include/posix.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.
	* include/win32.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.

From-SVN: r60998
2003-01-07 16:50:08 +00:00
Tom Tromey 35a94bdca8 re PR libgcj/8997 (spin() calls Thread.sleep)
2002-12-31  Tom Tromey  <tromey@redhat.com>
            Ranjit Mathew  <rmathew@hotmail.com>

	Fix for PR libgcj/8997:
	* java/lang/natObject.cc (spin): Use _Jv_platform_usleep.
	Include platform.h.
	* include/posix.h (_Jv_platform_usleep): New function.
	* include/win32.h (_Jv_platform_usleep): New function.

Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com>

From-SVN: r60700
2002-12-31 17:43:47 +00:00
Tom Tromey 78bb0444d2 win32.h (_Jv_platform_solib_prefix): New define.
* include/win32.h (_Jv_platform_solib_prefix): New define.
	(_Jv_platform_solib_suffix): Likewise.
	* include/posix.h (_Jv_platform_solib_prefix): New define.
	(_Jv_platform_solib_suffix): Likewise.
	* java/lang/natRuntime.cc: Include StackTrace.h.
	(_load): Use findLibrary and new platform defines.
	(nativeGetLibname): Use new platform defines.

From-SVN: r59976
2002-12-10 01:39:32 +00:00
Andreas Tobler 32e098dd98 natPlainDatagramSocketImpl.cc (socklen_t): Don't define.
2002-11-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/net/natPlainDatagramSocketImpl.cc (socklen_t): Don't
	define.
	* java/net/natPlainSocketImpl.cc (socklen_t): Don't define.
	* include/posix.h (socklen_t): Define if not already defined.

From-SVN: r59533
2002-11-26 20:09:28 +00:00
Michael Koch c6d58c6682 2002-11-22 Michael Koch <konqueror@gmx.de>
* include/posix.h:
	(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
	* include/win32.h:
	(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
	(backtrace): Moved out of #ifndef DISBALE_JAVA_NET.

From-SVN: r59374
2002-11-22 10:27:53 +00:00
Michael Koch d1bf262d83 posix.h: I put too much into the #ifndef DISABLE_JAVA_NET.
2002-11-21  Michael Koch <konqueror@gmx.de>

        * include/posix.h: I put too much into the #ifndef DISABLE_JAVA_NET.
        Only the new network functions should be in it.

From-SVN: r59350
2002-11-21 18:01:22 +00:00
Michael Koch e59ff7e93a posic.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posic.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
	* include/win32.h: Moved new functions into a #ifndef DISABLE_JAVA_NET

From-SVN: r59346
2002-11-21 14:34:12 +00:00
Michael Koch c3e0633cc3 2002-11-21 Michael Koch <konqueror@gmx.de>
* include/posix.h
       (_Jv_socket): New method.
       (_Jv_connect): New method.
       (_Jv_close): New method.
       (_Jv_platform_close_on_exec): Prefixed system function with "::".
       (_Jv_bind): New method.
       (_Jv_listen): New method.
       (_Jv_write): New method.
       (_Jv_read): New method.
       * include/win32.h
       (_Jv_socket): New method.
       (_Jv_connect): New method.
       (_Jv_close): New method.
       (_Jv_bind): New method.
       (_Jv_listen): New method.
       (_Jv_write): New method.
       (_Jv_read): New method.
       * java/net/natNetworkInterface.cc:
       Include platform.h, removed inclusion of socket.h
       (getRealNetworkInterfaces): Replaced ::socket() by _Jv_socket() and
       ::close() by _Jv_close().
       * java/net/natPlainDatagramSocketImpl.cc:
       Removed include of socket.h, definition of NATIVE_CLOSE and _Jv_bind,
       added some new lines to make code more readable.
       (create): Replaced ::socket() by _Jv_socket().
       (close): Replaced NATIVE_CLOSE() by _Jv_close().
       * java/net/natPlainSocketImpl.cc:
       Removed definition of NATIVE_CLOSE, _Jv_bind, Jv_connect and _Jv_accept,
       removed include of socket.h, removed some windows defines
       (now in include/win32.h).
       (create): Replaced ::socket() by _Jv_socket().
       (close): Replaced NATIVE_CLOSE() by _Jv_close().
       (write): Replaced ::read by _Jv_write().
       (read): Replaced ::read by _Jv_read().

From-SVN: r59338
2002-11-21 10:08:03 +00:00
Adam King 455cd615c2 natSystem.cc (init_properties): Call new function _Jv_platform_initProperties.
2002-04-07  Adam King <aking@dreammechanics.com>

	* java/lang/natSystem.cc (init_properties): Call new function
	_Jv_platform_initProperties.
	* win32 (_Jv_platform_initProperties): New function that adds Win32
	support for the System properties os.name, os.arch, os.version,
	user.name, user.home, and user.dir.
	* include/posix.h, include/win32.h, posix.cc: New function
	_Jv_platform_initProperties.

From-SVN: r51989
2002-04-07 12:27:00 +01:00
Bryce McKinlay 60678e476f posix.h: Add multiple include header protection.
* include/posix.h: Add multiple include header protection.
	* java/net/natPlainSocketImpl.cc: Don't #include <posix.h>.

From-SVN: r50559
2002-03-11 04:15:51 +00:00
Tom Tromey 0c1fcb02b1 Win32Process.java: Added comment.
* java/lang/Win32Process.java: Added comment.
	* include/posix.h (_Jv_platform_close_on_exec): New function.
	Include fcntl.h.
	* include/win32.h (_Jv_platform_close_on_exec): New function.
	* java/net/natPlainSocketImpl.cc (create): Set close-on-exec
	flag.
	(accept): Likewise.
	* java/net/natPlainDatagramSocketImpl.cc (create): Set
	close-on-exec flag.
	* java/io/natFileDescriptorPosix.cc (open): Set close-on-exec
	flag.

From-SVN: r50536
2002-03-10 17:59:23 +00:00
Adam Megacz 8eeda6e0e7 win32.cc (_Jv_platform_gettimeofday): Now takes no args, returns jlong.
2002-03-07  Adam Megacz  <adam@xwt.org>

        * win32.cc (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong. Added implementation
        * posix.cc (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong.
        * win32.h (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong.
        * posix.h (_Jv_platform_gettimeofday): Now takes no args,
        returns jlong.
        * java/lang/natSystem.cc (currentTimeMillis): Now uses updated
        _Jv_platform_gettimeofday signature.

From-SVN: r50416
2002-03-08 01:03:56 +00:00
Tom Tromey 73272ce608 prims.cc (_Jv_CreateJavaVM): Call _Jv_platform_initialize.
* prims.cc (_Jv_CreateJavaVM): Call _Jv_platform_initialize.
	* win32.cc (win32_exception_handler): Now static.
	* include/win32.h (_Jv_platform_initialize): Declare.
	(win32_exception_handler): Don't declare.
	* java/lang/natSystem.cc (currentTimeMillis): Use
	_Jv_platform_gettimeofday.
	* posix.cc (_Jv_platform_gettimeofday): Renamed.
	(_Jv_select): Use new name.
	(_Jv_platform_initialize): New function.
	* include/posix.h (_Jv_platform_gettimeofday): Renamed from
	_Jv_gettimeofday.
	(_Jv_platform_initialize): Declare.

From-SVN: r49583
2002-02-07 18:59:52 +00:00
Rainer Orth 60a78ccfac re PR libgcj/3694 (natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1)
* include/posix.h (_POSIX_PII_SOCKET): Define.
	* configure.in (HAVE_SOCKLEN_T): Define.
	* java/net/natPlainSocketImpl.cc [!HAVE_SOCKLEN_T]: Move socklen_t
	definition up.
	(_JV_accept): New function, avoids Tru64 UNIX accept macro.
	(java::net::PlainSocketImpl::accept): Use it.
	Fixes PRs libgcj/3694, libgcj/3696.

	* configure.in (HAVE_STRUCT_IPV6_MREQ): New test.
	* acconfig.h (HAVE_STRUCT_IPV6_MREQ): Provide template.
	* configure, include/config.h.in: Regenerate.
	* java/net/natPlainDatagramSocketImpl.cc (union McastReq): Use it.
	(mcastGrp): Likewise.
	(java::net::PlainDatagramSocketImpl::setOption): Guard against
	missing IPV6_MULTICAST_IF.
	Fixes PR libgcj/3694.

From-SVN: r44546
2001-08-01 17:53:00 +00:00
Tom Tromey f536cd95fb Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (libgcj_la_SOURCES): Added posix.cc.
	* java/net/natPlainSocketImpl.cc: Include posix.h.
	(accept): Use _Jv_select.
	* java/net/natPlainDatagramSocketImpl.cc: Include posix.h.
	(receive): Use _Jv_select.
	* java/io/natFileDescriptorPosix.cc: Include posix.h.
	(available): Use _Jv_select.
	* java/lang/natSystem.cc: Include posix.h.
	(currentTimeMillis): Use _Jv_gettimeofday.
	* include/posix.h: New file.
	* posix.cc: New file.

From-SVN: r35435
2000-08-02 21:54:04 +00:00