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