--- a/WeakArray.st Mon Nov 08 03:29:58 1993 +0100
+++ b/WeakArray.st Mon Nov 08 03:32:43 1993 +0100
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1991 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.1 1993-10-21 00:50:14 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.2 1993-11-08 02:32:36 claus Exp $
written feb 91 by claus
'!
@@ -33,15 +33,12 @@
WeakArrays are used to trace disposal of objects; in contrast to other
objects, references by WeakArrays will NOT keep an object from dying.
Instead, whenever an object kept in a WeakArray dies, its entry is nilled,
-and the WeakArray informed my the storage manager.
-
-Whenever the storage manager disposes an object referenced by a WeakArray,
-a disposeInterrupt is generated to DisposeInterruptHandler.
+and the WeakArray informed by the storage manager. This is done by sending a
+disposeInterrupt.
This interrupt is cought here and informs the watcher and, if there is
a dependent, this one gets informed as well (I dont know, which of the
-two mechanisms will survive in the long run).
-
-A sample on how they can be used can be found in ExternalStream.
+two mechanisms will survive in the long run - I started with the watcher,
+but now switch to dependencies).
"
! !
@@ -132,17 +129,29 @@
!WeakArray methodsFor:'accessing'!
dependents
+ "return the dependents of the receiver"
+
^ dependents
!
dependents:aCollection
+ "set the dependents of the receiver"
+
dependents := aCollection
!
watcher
+ "return the watcher of the receiver.
+ The watcher-stuff is a leftover from an old implementation
+ and will vanish soon"
+
^ watcher
!
watcher:anObject
+ "set the watcher of the receiver.
+ The watcher-stuff is a leftover from an old implementation
+ and will vanish soon"
+
watcher := anObject
! !