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
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
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
COPYING
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
HACKING
LIBGCJ_LICENSE
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
NEWS
README
THANKS
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
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
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
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-test.spec.in
libgcj.spec.in
libtool-version * libtool-version: Increased `current'. 2002-12-20 01:47:54 +00:00
mauve-libgcj * mauve-libgcj: Enable Mauve tests that compile now. 2002-10-13 11:10:27 +00:00
no-threads.cc
nogc.cc
posix-threads.cc
posix.cc
prims.cc boehm.cc: Remove stray semicolon. 2002-12-28 06:38:52 +00:00
resolve.cc defineclass.cc (handleMethodsEnd): Precompute code for static method. 2003-01-24 19:58:21 +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

README

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