'From Squeak3.3alpha of 18 January 2002 [latest update: #4904] on 30 June 2002 at 5:47:51 pm'! "Change Set: processorSchedRevert Date: 30 June 2002 Author: Andreas Raab; published by Scott Wallace Emergency workaround: reverts a method changed in update 4897. The postscript contains a do-it from Andreas that attempts to patch things up."! !ProcessorScheduler class methodsFor: 'background process' stamp: 'jm 9/11/97 10:44'! idleProcess "A default background process which is invisible." [true] whileTrue: [self relinquishProcessorForMicroseconds: 1000]! ! "Postscript:" | delayLock idleProcess | [delayLock := Delay classPool at: #AccessProtect. idleProcess := ProcessorScheduler classPool at: #BackgroundProcess. "acquire the delay lock so idle process cannot hold it" delayLock critical: ["make sure idle process is not waiting on delayLock" idleProcess suspendingList == delayLock ifTrue: ["If the following is interrupted we are in for trouble" delayLock remove: idleProcess ifAbsent: []. idleProcess offList]. "hack idle process to avoid unwind machinery" idleProcess suspendedContext:[ProcessorScheduler idleProcess]]. "Now that we've hacked it re-initialize for sure" ProcessorScheduler startUp] valueUnpreemptively. "see note on trouble above" !