ProcessorScheduler.st
changeset 752 0259dd855289
parent 750 f4ed622893ce
child 759 908363ce8a32
--- a/ProcessorScheduler.st	Thu Dec 14 17:36:45 1995 +0100
+++ b/ProcessorScheduler.st	Thu Dec 14 17:56:16 1995 +0100
@@ -12,13 +12,13 @@
 
 Object subclass:#ProcessorScheduler
 	 instanceVariableNames:'quiescentProcessLists scheduler zombie activeProcess
-                currentPriority readFdArray readSemaphoreArray readCheckArray
-                writeFdArray writeSemaphoreArray timeoutArray timeoutActionArray
-                timeoutProcessArray timeoutSemaphoreArray idleActions anyTimeouts
-                dispatching interruptedProcess useIOInterrupts'
+		currentPriority readFdArray readSemaphoreArray readCheckArray
+		writeFdArray writeSemaphoreArray timeoutArray timeoutActionArray
+		timeoutProcessArray timeoutSemaphoreArray idleActions anyTimeouts
+		dispatching interruptedProcess useIOInterrupts'
 	 classVariableNames:'KnownProcesses KnownProcessIds PureEventDriven
-                UserSchedulingPriority UserInterruptPriority TimingPriority
-                HighestPriority SchedulingPriority MaxNumberOfProcesses'
+		UserSchedulingPriority UserInterruptPriority TimingPriority
+		HighestPriority SchedulingPriority MaxNumberOfProcesses'
 	 poolDictionaries:''
 	 category:'Kernel-Processes'
 !
@@ -1102,7 +1102,8 @@
 
 suspend:aProcess
     "remove the argument, aProcess from the list of runnable processes.
-     If the process is the current one, reschedule."
+     If the process is the current one, reschedule.
+     This method should only be called by Process>>suspend"
 
     |pri l p wasBlocked|
 
@@ -1130,7 +1131,7 @@
     l := quiescentProcessLists at:pri.
 
     "notice: this is slightly faster than putting the if-code into
-     the ifAbsent block, because [] is a shared cheap block
+     the ifAbsent block, because [] is a shared cheap block, created at compile time
     "
     (l remove:aProcess ifAbsent:[]) isNil ifTrue:[
 	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
@@ -1142,14 +1143,6 @@
 
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
 
-    "
-     this is a bit of a kludge: allow someone else to
-     set the state to something like #ioWait etc.
-     In this case, do not set to #suspend.
-     All of this to enhance the output of the process monitor ...
-    "
-    aProcess setStateTo:#suspended if:#active or:#run.
-
     (aProcess == activeProcess) ifTrue:[
 	"we can immediately switch sometimes"
 	l notEmpty ifTrue:[
@@ -1159,6 +1152,8 @@
 	].
 	self threadSwitch:p 
     ].
+
+    "Modified: 13.12.1995 / 13:32:11 / stefan"
 !
 
 terminate:aProcess
@@ -1758,6 +1753,6 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.54 1995-12-14 15:56:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.55 1995-12-14 16:56:16 cg Exp $'
 ! !
 ProcessorScheduler initialize!