src/JavaProcess.st
branchjk_new_structure
changeset 1090 0b9c332d367c
parent 1022 38b710d7dfbc
child 1101 6050636e16b4
--- a/src/JavaProcess.st	Sat Nov 05 23:11:06 2011 +0000
+++ b/src/JavaProcess.st	Sun Nov 06 17:07:27 2011 +0000
@@ -253,38 +253,20 @@
                             ]
                     ]
             ] ensure:[
-                |monitors|
-
-                monitors := (Smalltalk at:#'JavaVM:EnteredMonitorsPerProcess') 
-                            at:javaProcess
-                            ifAbsent:nil.
-                monitors notNil ifTrue:[
-                    monitors do:[:obj | 
-                        |mon|
+                JavaVM releaseMonitorsOfProcess: javaProcess.
 
-                        mon := JavaVM monitorFor:obj.
-                        mon notNil ifTrue:[
-                            mon owningProcess == javaProcess ifTrue:[
-                                ('JAVA: release monitor owned by dying thread: ' , javaProcess name) 
-                                    infoPrintCR.
-                                self breakPoint: #jv.
-                                mon exit
-                            ].
-                        ].
-                    ].
-                    (Smalltalk at:#'JavaVM:EnteredMonitorsPerProcess') removeKey:javaProcess.
-                    javaProcess == (Smalltalk at:#'JavaVM:JavaScreenUpdaterThread') ifTrue:[
-                        Smalltalk at:#'JavaVM:JavaScreenUpdaterThread' put:nil.
-                    ].
-                    javaProcess == (Smalltalk at:#'JavaVM:JavaEventQueueThread') ifTrue:[
-                        Smalltalk at:#'JavaVM:JavaEventQueueThread' put:nil.
-                    ].
+                (Smalltalk at:#'JavaVM:EnteredMonitorsPerProcess') removeKey:javaProcess.
+                javaProcess == (Smalltalk at:#'JavaVM:JavaScreenUpdaterThread') ifTrue:[
+                    Smalltalk at:#'JavaVM:JavaScreenUpdaterThread' put:nil.
+                ].
+                javaProcess == (Smalltalk at:#'JavaVM:JavaEventQueueThread') ifTrue:[
+                    Smalltalk at:#'JavaVM:JavaEventQueueThread' put:nil.
+                ].
                     
 "/                                    screenUpdaterClass := Java at:'sun.awt.ScreenUpdater'.    
 "/                                    screenUpdaterClass notNil ifTrue:[
 "/                                        screenUpdaterClass instVarNamed:'updater' put:nil.
 "/                                    ].
-                ].
                 Java threads removeKey:javaThreadObject ifAbsent:[].
             ]
         ]