From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13577 invoked by alias); 28 Jan 2003 22:26:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 13558 invoked by uid 71); 28 Jan 2003 22:26:00 -0000 Date: Tue, 28 Jan 2003 22:26:00 -0000 Message-ID: <20030128222600.13557.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: tromey@gcc.gnu.org Subject: java/9254 Reply-To: tromey@gcc.gnu.org X-SW-Source: 2003-01/txt/msg01640.txt.bz2 List-Id: The following reply was made to PR java/9254; it has been noted by GNATS. From: tromey@gcc.gnu.org To: gcc-gnats@gcc.gnu.org Cc: Subject: java/9254 Date: 28 Jan 2003 22:23:08 -0000 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: tromey@gcc.gnu.org 2003-01-28 22:23:08 Modified files: libjava : ChangeLog win32-threads.cc libjava/include: win32-threads.h Log message: 2003-01-28 Ranjit Mathew 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. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.1594.2.48&r2=1.1594.2.49 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/win32-threads.cc.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.8&r2=1.8.34.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/win32-threads.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.6&r2=1.6.4.1