src/JavaContext.st
branchjk_new_structure
changeset 1094 68b154263d74
parent 1093 255c230a1c55
child 1095 6d0bfccd9ae7
--- a/src/JavaContext.st	Tue Nov 08 13:48:55 2011 +0000
+++ b/src/JavaContext.st	Tue Nov 08 14:16:59 2011 +0000
@@ -363,6 +363,13 @@
     "Created: / 08-11-2011 / 12:23:18 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
+acquiredMonitorsDo: aBlock
+    acqrMonitors isNil ifTrue: [acqrMonitors := OrderedCollection new].
+    acqrMonitors do: aBlock.
+
+    "Created: / 08-11-2011 / 15:03:31 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+!
+
 addMonitor: mon
 acqrMonitors ifNil: [acqrMonitors := OrderedCollection new].
 acqrMonitors add: mon.
@@ -378,8 +385,10 @@
 !
 
 removeMonitor: mon 
-    acqrMonitors ifNil: [ self halt: 'removing non existing monitor' ].
-    acqrMonitors remove: mon.
+    acqrMonitors isNil ifTrue: [ 'accessing nil acqrmonitors in monexit' infoPrintCR ] ifFalse: [
+        acqrMonitors remove: mon
+            ifAbsent: [ 'removing non existing monitor' infoPrintCR ]
+    ].
 
     "Created: / 08-11-2011 / 14:19:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 ! !