Registry.st
changeset 2682 b568c4185444
parent 2669 7cf9ba3c7817
child 2746 4f69a1745ebe
--- a/Registry.st	Sat Jun 07 10:13:40 1997 +0200
+++ b/Registry.st	Sat Jun 07 13:17:35 1997 +0200
@@ -286,6 +286,10 @@
         ^ self
     ].
 
+    "/
+    "/ allow interrupts to be handled here
+    "/ (but continue with interrupts disabled)
+    "/
     wasBlocked ifFalse:[
         OperatingSystem unblockInterrupts.
         OperatingSystem blockInterrupts.
@@ -307,12 +311,19 @@
         ^ self
     ].
 
+    "/
+    "/ allow interrupts to be handled here
+    "/ (but continue with interrupts disabled)
+    "/
     wasBlocked ifFalse:[
         OperatingSystem unblockInterrupts.
         OperatingSystem blockInterrupts.
     ].
 
-    "search for a free slot, on the fly look for leftovers (no longer happens)"
+    "/
+    "/ search for a free slot ...
+    "/ on the fly look for leftovers (should no longer happen)
+    "/
     idx0 := 1.
     index := registeredObjects identityIndexOf:nil startingAt:idx0.
     [index ~~ 0] whileTrue:[
@@ -331,7 +342,15 @@
         "/ mhmh - a registeredObject vanished, but its
         "/ phantom is still there ...
 
-        'Registry [warning]: there should be no leftOvers' errorPrintCR.
+        "/
+        "/ this may happen, if the registries dispose handling is 
+        "/ currently being executed by a lower priority process,
+        "/ and the registeredObject has already been nilled,
+        "/ but the phantom is being notified (in the other process).
+
+        'Registry [warning]: leftOver phantom' errorPrintCR.
+        'Registry [info]: phantom:' infoPrintCR.
+        p infoPrintCR.
 
 "/        "tell the phantom"
 "/        handleArray at:index put:nil.
@@ -365,7 +384,7 @@
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
 
     "Modified: 7.1.1997 / 16:56:03 / stefan"
-    "Modified: 16.4.1997 / 15:21:54 / cg"
+    "Modified: 7.6.1997 / 13:11:01 / cg"
 !
 
 registerChange:anObject
@@ -451,5 +470,5 @@
 !Registry class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Registry.st,v 1.46 1997-06-02 17:00:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Registry.st,v 1.47 1997-06-07 11:17:35 cg Exp $'
 ! !