diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-12-24 01:00:46 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-12-24 01:00:46 +0000 |
commit | c1a11bafafd99ed95cc95ba1c9ea735de2d3d55d (patch) | |
tree | 42d8776b8882e3c389088fa07c0348d511ab5edf /libjava/java/lang/natObject.cc | |
parent | f192c4ac64c69de9e4a26c2e8920f09b49d1fa5a (diff) | |
download | ppe42-gcc-c1a11bafafd99ed95cc95ba1c9ea735de2d3d55d.tar.gz ppe42-gcc-c1a11bafafd99ed95cc95ba1c9ea735de2d3d55d.zip |
1999-12-22 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/natObject.cc (notify): Throw message with
IllegalMonitorStateException.
(notifyAll): Ditto.
(wait): Ditto.
* java/lang/Thread.java (isInterrupted): Don't clear interrupt_flag.
(isInterrupted_): New function, which does clear interrupt_flag.
(interrupt): Use `isInterrupted_'.
* java/lang/natThread.cc (interrupt): Add comment.
(join): Set `Prev' in joiner loop.
Change various calls to `isInterrupted' to use `isInterrupted_'.
* posix-threads.cc (_Jv_CondWait): Allways use pthread_cond_timedwait
on linux. Set result to 0 on an interrupt. Test interrupted status
of java Thread object directly.
FLAG_INTERRUPTED: removed.
(_Jv_ThreadStart): Throw OutOfMemoryError if pthread_create fails.
(_Jv_ThreadInterrupt): Don't set FLAG_INTERRUPTED.
(_Jv_InitThreads): Don't block SIGINT.
(_Jv_ThreadWait): Don't configure SIGINT handler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31082 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/natObject.cc')
-rw-r--r-- | libjava/java/lang/natObject.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc index 0ca5a58fbc3..3d9f9fbd9f5 100644 --- a/libjava/java/lang/natObject.cc +++ b/libjava/java/lang/natObject.cc @@ -175,7 +175,8 @@ java::lang::Object::notify (void) sync_init (); _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info; if (_Jv_CondNotify (&si->condition, &si->mutex)) - JvThrow (new IllegalMonitorStateException); + JvThrow (new IllegalMonitorStateException(JvNewStringLatin1 + ("current thread not owner"))); } void @@ -185,7 +186,8 @@ java::lang::Object::notifyAll (void) sync_init (); _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info; if (_Jv_CondNotifyAll (&si->condition, &si->mutex)) - JvThrow (new IllegalMonitorStateException); + JvThrow (new IllegalMonitorStateException(JvNewStringLatin1 + ("current thread not owner"))); } void @@ -197,7 +199,8 @@ java::lang::Object::wait (jlong timeout, jint nanos) JvThrow (new IllegalArgumentException); _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info; if (_Jv_CondWait (&si->condition, &si->mutex, timeout, nanos)) - JvThrow (new IllegalMonitorStateException); + JvThrow (new IllegalMonitorStateException(JvNewStringLatin1 + ("current thread not owner"))); if (Thread::interrupted()) JvThrow (new InterruptedException); } |