change dependencies uninterruptably
authorClaus Gittinger <cg@exept.de>
Mon, 15 Jan 1996 22:42:55 +0100
changeset 863 2c83fe958ca7
parent 862 007dccfb6cb0
child 864 9d034b442868
change dependencies uninterruptably
Object.st
--- a/Object.st	Mon Jan 15 18:09:30 1996 +0100
+++ b/Object.st	Mon Jan 15 22:42:55 1996 +0100
@@ -1533,12 +1533,14 @@
 
     |deps|
 
-    deps := self dependents.
-    deps isNil ifTrue:[
-	self dependents:(WeakIdentitySet with:anObject)
-    ] ifFalse:[
-	deps add:anObject
-    ]
+    [
+        deps := self dependents.
+        deps isNil ifTrue:[
+	    self dependents:(WeakIdentitySet with:anObject)
+        ] ifFalse:[
+	    deps add:anObject
+        ]
+    ] valueUninterruptably
 !
 
 dependents
@@ -1556,11 +1558,13 @@
      dependents which may be too slow for high frequency change&update.
      Therefore, some classes (Model) redefine this for better performance."
 
-    (aCollection isNil or:[aCollection isEmpty]) ifTrue:[
-	Dependencies removeKey:self ifAbsent:[]
-    ] ifFalse:[
-	Dependencies at:self put:aCollection
-    ]
+    [
+        (aCollection isNil or:[aCollection isEmpty]) ifTrue:[
+	    Dependencies removeKey:self ifAbsent:[]
+        ] ifFalse:[
+	    Dependencies at:self put:aCollection
+        ]
+    ] valueUninterruptably
 !
 
 dependentsDo:aBlock
@@ -1585,13 +1589,15 @@
 
     |deps|
 
-    deps := self dependents.
-    deps notNil ifTrue:[
-	deps remove:anObject ifAbsent:[].
-	deps isEmpty ifTrue:[
-	    self dependents:nil
-	]
-    ]
+    [
+        deps := self dependents.
+        deps notNil ifTrue:[
+	    deps remove:anObject ifAbsent:[].
+	    deps isEmpty ifTrue:[
+	        self dependents:nil
+	    ]
+        ]
+    ] valueUninterruptably
 ! !
 
 !Object methodsFor:'error handling'!
@@ -4213,6 +4219,6 @@
 !Object class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.85 1996-01-15 14:12:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.86 1996-01-15 21:42:55 cg Exp $'
 ! !
 Object initialize!