'From Squeak3.2alpha of 4 October 2001 [latest update: #4580] on 5 December 2001 at 9:51:20 am'! "Change Set: Urgent-errorLog-tk Date: 5 December 2001 Author: Ted Kaehler Henrik Gedenryd reported a serious problem in error logging. It occurs if: The preference to write errors to a log file is on. In a fileList, make a small change to a file and save. When asked to overwrite, say 'Cancel'. The system will lock up in WeakRegistry. My fix disables #printElementsOn: in WeakRegistry when it is locked. (#do: tests the lock, and waits on a semaphore.)"! !FileStream methodsFor: 'printing' stamp: 'tk 12/5/2001 09:12'! longPrintOn: aStream "Do nothing, so it will print short. Called to print the error file. If the error was in a file operation, we can't read the contents of that file. Just print its name instead." ! ! !FileStream methodsFor: 'printing' stamp: 'tk 12/5/2001 09:32'! longPrintOn: aStream limitedTo: sizeLimit indent: indent "Do nothing, so it will print short. Called to print the error file. If the error was in a file operation, we can't read the contents of that file. Just print its name instead." aStream cr! ! !WeakRegistry methodsFor: 'printing' stamp: 'tk 12/5/2001 09:42'! printElementsOn: aStream aStream nextPut: $(. accessLock ifNil: [self do: [:element | aStream print: element; space]] ifNotNil: [aStream nextPutAll: '; space']. self isEmpty ifFalse: [aStream skip: -1]. aStream nextPut: $)! ! !WeakRegistry reorganize! ('finalization' finalizeValues) ('adding' add:) ('accessing' size species) ('initialize' initialize:) ('private' protected:) ('enumerating' do:) ('removing' remove:ifAbsent:) ('printing' printElementsOn:) !