--- 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 $'
! !