WeakValueDictionary.st
changeset 1790 4187e9fc7357
parent 1361 d7b0b2b357f0
child 2260 96d898c2874d
--- a/WeakValueDictionary.st	Sun Oct 20 17:23:12 1996 +0200
+++ b/WeakValueDictionary.st	Sun Oct 20 17:24:18 1996 +0200
@@ -61,13 +61,16 @@
     |wasBlocked|
 
     wasBlocked := OperatingSystem blockInterrupts.
-    super at:key put:anObject.
-    wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+    [
+        super at:key put:anObject.
+    ] valueNowOrOnUnwindDo:[
+        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+    ].
     ^ anObject
 
-    "Modified: 22.4.1996 / 17:39:09 / cg"
     "Modified: 6.5.1996 / 12:22:26 / stefan"
     "Created: 6.5.1996 / 14:47:37 / stefan"
+    "Modified: 20.10.1996 / 14:05:04 / cg"
 !
 
 removeKey:aKey ifAbsent:aBlock
@@ -132,5 +135,5 @@
 !WeakValueDictionary class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/WeakValueDictionary.st,v 1.3 1996-05-09 10:54:12 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/WeakValueDictionary.st,v 1.4 1996-10-20 15:23:49 cg Exp $'
 ! !