diff options
Diffstat (limited to 'libjava/java/lang')
| -rw-r--r-- | libjava/java/lang/natClassLoader.cc | 7 | ||||
| -rw-r--r-- | libjava/java/lang/natThread.cc | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index ba7b2c66b66..e5ff17e02ab 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -368,12 +368,15 @@ _Jv_UnregisterClass (jclass the_class) } _Jv_LoaderInfo **info = &(initiated_classes[hash]); - for ( ; *info; info = &((*info)->next)) + for ( ; ; info = &((*info)->next)) { - while ((*info)->klass == the_class) + while (*info && (*info)->klass == the_class) { *info = (*info)->next; } + + if (*info == NULL) + break; } _Jv_MonitorExit (&ClassClass); diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc index 50ab7be19af..6870f02c50d 100644 --- a/libjava/java/lang/natThread.cc +++ b/libjava/java/lang/natThread.cc @@ -19,6 +19,7 @@ details. */ #include <java/lang/Thread.h> #include <java/lang/ThreadGroup.h> #include <java/lang/IllegalArgumentException.h> +#include <java/lang/UnsupportedOperationException.h> #include <java/lang/IllegalThreadStateException.h> #include <java/lang/InterruptedException.h> #include <java/lang/NullPointerException.h> @@ -306,14 +307,16 @@ java::lang::Thread::start (void) void java::lang::Thread::stop (java::lang::Throwable *) { - JvFail ("java::lang::Thread::stop unimplemented"); + _Jv_Throw (new UnsupportedOperationException + (JvNewStringLatin1 ("java::lang::Thread::stop unimplemented"))); } void java::lang::Thread::suspend (void) { checkAccess (); - JvFail ("java::lang::Thread::suspend unimplemented"); + _Jv_Throw (new UnsupportedOperationException + (JvNewStringLatin1 ("java::lang::Thread::suspend unimplemented"))); } void |

