added: #removeUnusedObjectFile
authorStefan Vogel <sv@exept.de>
Fri, 16 Apr 2010 19:34:38 +0200
changeset 2349 92c8f42e973d
parent 2348 b2a3bb714bf6
child 2350 16caba266df4
added: #removeUnusedObjectFile changed: #update:with:from:
ObjectFileHandle.st
--- a/ObjectFileHandle.st	Fri Apr 16 19:17:34 2010 +0200
+++ b/ObjectFileHandle.st	Fri Apr 16 19:34:38 2010 +0200
@@ -251,6 +251,15 @@
     ].
 !
 
+removeUnusedObjectFile
+    "remove the object file,
+     but only if we are sure, that it is not referenced by a snapshot."
+
+    snapshot ~~ true ifTrue:[
+        OperatingSystem removeFile:pathName.
+    ]
+!
+
 unload
     "unload the object file represented by me"
 
@@ -285,12 +294,7 @@
         ].
         ('ObjectFileHandle [info]: unloading ' , pathName , '  (method/classes were garbageCollected)') infoPrintCR.
         self unload.
-        snapshot == true ifFalse:[
-            "This object file has never been saved in a snapshot,
-             so it can be savely removed"
-
-            pathName asFilename remove.
-        ].
+        self removeUnusedObjectFile.
     ].
 
     "Created: 5.12.1995 / 18:05:08 / cg"
@@ -505,9 +509,9 @@
 !ObjectFileHandle class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileHandle.st,v 1.37 2010-04-16 17:14:05 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileHandle.st,v 1.38 2010-04-16 17:34:38 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileHandle.st,v 1.37 2010-04-16 17:14:05 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileHandle.st,v 1.38 2010-04-16 17:34:38 stefan Exp $'
 ! !