ObjMem.st
changeset 291 5e036c656524
parent 290 23994c0a7f7b
child 293 31df3850e98c
--- 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.