diff options
author | Tom Tromey <tromey@cygnus.com> | 1999-09-01 18:29:39 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1999-09-01 18:29:39 +0000 |
commit | 6e87747b6d4a8961ab49b3a21298baf546763417 (patch) | |
tree | 6fb15ec8b692fb14a98a2eaba9879e17e7f496a6 /libjava/posix-threads.cc | |
parent | b1133adfca2570b32dd7ded5a53b336630f593d1 (diff) | |
download | gcc-6e87747b6d4a8961ab49b3a21298baf546763417.zip gcc-6e87747b6d4a8961ab49b3a21298baf546763417.tar.gz gcc-6e87747b6d4a8961ab49b3a21298baf546763417.tar.bz2 |
posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor.
* posix-threads.cc (_Jv_CondWait): Call _Jv_PthreadCheckMonitor.
* include/posix-threads.h (_Jv_PthreadCheckMonitor): New
function.
(_Jv_CondNotify): Use it.
(_Jv_CondNotifyAll): Likewise.
* java/lang/Class.h (JV_STATE_NOTHING): Correct misspelling.
From-SVN: r29030
Diffstat (limited to 'libjava/posix-threads.cc')
-rw-r--r-- | libjava/posix-threads.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc index 48f0a7f..413f7c3 100644 --- a/libjava/posix-threads.cc +++ b/libjava/posix-threads.cc @@ -75,6 +75,9 @@ int _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, jlong millis, jint nanos) { + if (_Jv_PthreadCheckMonitor (mu)) + return 1; + int r; pthread_mutex_t *pmu; #ifdef HAVE_RECURSIVE_MUTEX @@ -82,6 +85,7 @@ _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, #else pmu = &mu->mutex2; #endif + if (millis == 0 && nanos == 0) r = pthread_cond_wait (cv, pmu); else @@ -96,6 +100,7 @@ _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, if (r && errno == ETIMEDOUT) r = 0; } + return r; } |