gcc/libjava
Ranjit Mathew 65b8e87409 re PR java/9254 (java::lang::Object::wait(), threads-win32.cc returns wrong return codes)
2003-01-28  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9254:
	* include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
	additionally containing id of the owner thread as well as
	the number of nested times the thread has acquired the mutex.
	(_Jv_MutexInit): Initialise owner thread id and refcount to 0.
	(_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
	(_Jv_MutexUnlock): Check if really the owner thread, reset
	owner thread id to 0 before leaving, if leaving for the last
	time.
	(_Jv_MutexLock): Set owner thread id in the mutex and increment
	refcount.
	(_Jv_ThreadYield): Yield using a call to Sleep(0).
	* win32-threads.cc (_Jv_CondWait): Check if really owner of
	the passed mutex.
	Pass handle of the broadcast event, instead of a pointer to it
	in Win32 ResetEvent( ) call.
	Remove incorrect return values.
	(_Jv_CondDestroy): Close both event handles and delete
	critical section.
	(_Jv_CondNotify): Check if really the owner thread.
	(_Jv_CondNotifyAll): Check if really the owner thread.
	(_Jv_InitThreads): Change daemon_cond to a manual-reset event.
	(really_start): Use SetEvent( ) to signal daemon_cond.
	(_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
	WaitForSingleObject( ) instead to wait for daemon_cond to be
	signalled.

From-SVN: r62033
2003-01-28 22:23:36 +00:00
..
doc except.c (choose_personality_routine): Export. 2001-05-13 01:28:18 +00:00
gcj Makefile.am (core_java_source_files): Add VMObjectStreamClass.java. 2003-01-20 06:46:28 +00:00
gnu configure.in: Specifically define HAVE_BACKTRACE if building for MinGW. 2003-01-28 19:10:00 +00:00
include re PR java/9254 (java::lang::Object::wait(), threads-win32.cc returns wrong return codes) 2003-01-28 22:23:36 +00:00
java re PR java/9253 (on win32, java.io.File.listFiles("C:\\") returns pwd instead of the root content of C:) 2003-01-24 21:57:00 +00:00
javax re PR libgcj/7416 (java.security startup refs "GNU libgcj.security") 2002-12-31 22:50:10 +00:00
libltdl * .cvsignore: Remove files that are present in CVS. 2002-04-28 18:41:51 +00:00
org Makefile.am (ordinary_java_source_files): Add org/xml/sax/helpers/NewInstance.java. 2002-12-20 03:49:20 +00:00
scripts javaprims.h: Updated. 2002-12-30 22:42:20 +00:00
sysdep configure.host [s390*-*]: Enable Java interpreter. 2002-10-08 14:57:37 +00:00
testsuite * libjava.jacks/jacks.xfail: More lexer tests now pass. 2003-01-28 18:48:32 +00:00
acconfig.h natFileDescriptorPosix.cc (setLength): Handle case where ftruncate is missing. 2002-08-29 18:05:15 +00:00
acinclude.m4 Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
aclocal.m4 Merge basic-improvements-branch to trunk 2002-12-16 18:23:00 +00:00
addr2name.awk
boehm.cc boehm.cc (_Jv_MarkObj): Mark the protectionDomain of a class. 2003-01-03 16:34:37 +00:00
ChangeLog re PR java/9254 (java::lang::Object::wait(), threads-win32.cc returns wrong return codes) 2003-01-28 22:23:36 +00:00
ChangeLog-1999
ChangeLog-2001 ChangeLog rotation 2002-01-22 00:20:23 +00:00
configure configure.in: Specifically define HAVE_BACKTRACE if building for MinGW. 2003-01-28 19:10:00 +00:00
configure.host Fix misapplied patch. 2003-01-22 17:50:38 +00:00
configure.in configure.in: Specifically define HAVE_BACKTRACE if building for MinGW. 2003-01-28 19:10:00 +00:00
COPYING COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes... 2000-12-18 09:12:19 +00:00
defineclass.cc defineclass.cc (handleMethodsEnd): Precompute code for static method. 2003-01-24 19:58:21 +00:00
exception.cc exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit of catch_type. 2002-12-23 19:59:31 +00:00
gij.cc natRuntime.cc (_Jv_SetDLLSearchPath): New function. 2002-10-25 03:28:00 +00:00
HACKING * HACKING: Fix URL for the automake-gcj. 2002-02-08 01:22:47 +00:00
interpret.cc defineclass.cc (handleMethodsEnd): Precompute code for static method. 2003-01-24 19:58:21 +00:00
jni.cc jni.cc: Added `name' argument. 2002-12-03 03:54:05 +00:00
LIBGCJ_LICENSE Add license clarification. 2002-01-22 22:40:42 +00:00
libgcj-test.spec.in * libgcj.spec.in, libgcj-test.spec.in: Revert for now. 2002-03-31 18:24:59 +00:00
libgcj.spec.in * libgcj.spec.in, libgcj-test.spec.in: Revert for now. 2002-03-31 18:24:59 +00:00
libtool-version * libtool-version: Increased `current'. 2002-12-20 01:47:54 +00:00
Makefile.am configure.in (toolexecdir, [...]): Set and AC_SUBST. 2003-01-28 01:44:58 +00:00
Makefile.in configure.in (toolexecdir, [...]): Set and AC_SUBST. 2003-01-28 01:44:58 +00:00
mauve-libgcj * mauve-libgcj: Enable Mauve tests that compile now. 2002-10-13 11:10:27 +00:00
NEWS
no-threads.cc natFinalizerThread.cc: New file. 2001-10-10 22:25:43 +00:00
nogc.cc nogc.cc: Remove warnings. 2002-01-27 22:33:35 +00:00
posix-threads.cc posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use write_barrier, not release_set. 2002-03-21 00:26:46 +00:00
posix.cc natSystem.cc (init_properties): Call new function _Jv_platform_initProperties. 2002-04-07 12:27:00 +01:00
prims.cc boehm.cc: Remove stray semicolon. 2002-12-28 06:38:52 +00:00
README gcj.texi: Change sources.redhat.com reference to gcc.gnu.org. 2001-02-08 01:49:53 +00:00
resolve.cc defineclass.cc (handleMethodsEnd): Precompute code for static method. 2003-01-24 19:58:21 +00:00
THANKS THANKS: Fix punctuation, alphabetization. 2002-03-15 22:36:05 +00:00
verify.cc boehm.cc: Remove stray semicolon. 2002-12-28 06:38:52 +00:00
win32-threads.cc re PR java/9254 (java::lang::Object::wait(), threads-win32.cc returns wrong return codes) 2003-01-28 22:23:36 +00:00
win32.cc win32.cc, win32.cc (backtrace): Added this function because Win32 does not supply it. 2002-04-24 01:33:19 +00:00

This is libgcj: the runtime library for gcj, the GNU Compiler for Java. 
libgcj provides a partial implementation of the Java Class Libraries.

libgcj is free software.  See the file LIBGCJ_LICENSE for copying permission.


DOCUMENTATION
=============

All documentation, including detailed installation and usage instructions,
can be found on the gcj web pages at this URL:

		http://gcc.gnu.org/java/


REQUIREMENTS
============

libgcj must be built with a compatible version of the gcc compiler. libgcj
releases are usually numbered according to their corresponding gcc release.
For example, if this is "libgcj 2.95.3", you need to build it using "gcc
2.95.3".


QUICK INSTALLATION
==================

  > mkdir build
  > cd build
  > ../libgcj/configure --enable-threads=<THREADS_TYPE> --prefix=<DIR>
  > make
  > make install

where:

<THREADS_TYPE> specifies the threads library to be used by libgcj. Currently 
the possible values are "posix" and "none". This value must be the same as
the value used when configuring gcc itself.

<DIR> specifies the installation directory. This should be the same location 
as where gcc is installed.

Consult the gcj web pages for additional "configure" arguments.

NOTE: libgcj can not be built in the same directory as `configure'. You must 
create a separate build directory. 


BUGS
====

Please submit bug reports via this URL:

	http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc