--- a/ObjMem.st Tue Feb 28 21:54:39 1995 +0100
+++ b/ObjMem.st Wed Mar 01 01:10:13 1995 +0100
@@ -33,7 +33,7 @@
COPYRIGHT (c) 1992 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.27 1995-02-28 20:53:45 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.28 1995-03-01 00:10:13 claus Exp $
'!
!ObjectMemory class methodsFor:'documentation'!
@@ -54,7 +54,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.27 1995-02-28 20:53:45 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/ObjMem.st,v 1.28 1995-03-01 00:10:13 claus Exp $
"
!
@@ -1719,6 +1719,14 @@
%}
!
+finalize
+ "tell all weak objects that something happened."
+
+ self allChangedShadowObjectsDo:[:aShadowArray |
+ aShadowArray lostPointer.
+ ]
+!
+
disposeInterrupt
"this is triggered by the garbage collector,
whenever any shadowArray looses a pointer."
@@ -1732,9 +1740,7 @@
"/
"/ do it right here
"/
- self allChangedShadowObjectsDo:[:aShadowArray |
- aShadowArray lostPointer.
- ]
+ self finalize
]
!
@@ -1771,9 +1777,7 @@
"
... and do it
"
- self allChangedShadowObjectsDo:[:aShadowArray |
- aShadowArray lostPointer.
- ]
+ self finalize
]
] valueOnUnwindDo:[
BackgroundFinalizationProcess := nil.