diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-02 19:33:50 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-02 19:33:50 +0000 |
commit | 2b23cbcddddd7a17ee261986cda96654a4c093d6 (patch) | |
tree | 8a6d915f784bf832c22dd4ff3f4c956f987d9be5 /libjava/java | |
parent | 509cd7a7c3c39b2370c8b7774fb934fec33ae6ee (diff) | |
download | ppe42-gcc-2b23cbcddddd7a17ee261986cda96654a4c093d6.tar.gz ppe42-gcc-2b23cbcddddd7a17ee261986cda96654a4c093d6.zip |
* java/lang/natClassLoader.cc (_Jv_WaitForState): Call
_Jv_PrepareCompiledClass while holding class mutex.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29063 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 4172a44e263..c0d06d47caf 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -144,8 +144,10 @@ _Jv_WaitForState (jclass klass, int state) if (state == JV_STATE_LINKED) { - _Jv_MonitorExit (klass); + // Must call _Jv_PrepareCompiledClass while holding the class + // mutex. _Jv_PrepareCompiledClass (klass); + _Jv_MonitorExit (klass); return; } @@ -217,7 +219,7 @@ _Jv_PrepareCompiledClass(jclass klass) if (klass->state >= JV_STATE_LINKED) return; - // short-circuit, so that mutually dependent classes are ok + // Short-circuit, so that mutually dependent classes are ok. klass->state = JV_STATE_LINKED; _Jv_Constants *pool = &klass->constants; |