--- a/ProcessorScheduler.st Wed Dec 05 15:57:07 2001 +0100
+++ b/ProcessorScheduler.st Thu Dec 06 09:52:25 2001 +0100
@@ -991,40 +991,41 @@
|index pri aProcess l|
OperatingSystem interruptsBlocked ifFalse:[
- MiniDebugger
- enterWithMessage:'resumeImmediateInterrupt with no interruptsBlocked'
- mayProceed:true.
+ MiniDebugger
+ enterWithMessage:'resumeImmediateInterrupt with no interruptsBlocked'
+ mayProceed:true.
].
index := KnownProcessIds identityIndexOf:id.
index ~~ 0 ifTrue:[
- aProcess := KnownProcesses at:index.
- "/
- "/ CG: the situation below may happen, if the wrapCall
- "/ finishes before the process was layed to sleep
- "/ (i.e. schedulerIRQ arrives before the threadSwitch
- "/ was finished.
- "/ In that case, simply resume it and everything is OK.
- "/
+ aProcess := KnownProcesses at:index.
+ "/
+ "/ CG: the situation below may happen, if the wrapCall
+ "/ finishes before the process was layed to sleep
+ "/ (i.e. schedulerIRQ arrives before the threadSwitch
+ "/ was finished.
+ "/ In that case, simply resume it and everything is OK.
+ "/
"/ aProcess state ~~ #wrapWait ifTrue:[
"/ 'ProcSched [info]: oops - resumeImmIRQ for non wrapWait process' infoPrintCR.
"/ ^ self
"/ ].
- pri := aProcess priority.
- l := quiescentProcessLists at:pri.
- "if already running, ignore"
- l notNil ifTrue:[
- (l identityIndexOf:aProcess) ~~ 0 ifTrue:[
- 'ProcSched [info]: oops - resumeImmIRQ for already running process' infoPrintCR.
- ^ self
- ]
- ] ifFalse:[
- l := LinkedList new.
- quiescentProcessLists at:pri put:l.
- ].
- l addLast:aProcess.
- aProcess state:#run.
+ pri := aProcess priority.
+ l := quiescentProcessLists at:pri.
+ "if already running, ignore"
+ l notNil ifTrue:[
+ (l identityIndexOf:aProcess) ~~ 0 ifTrue:[
+ 'ProcSched [info]: oops - resumeIRQ for already running process' infoPrintCR.
+ ^ self
+ ]
+ ] ifFalse:[
+ l := LinkedList new.
+ quiescentProcessLists at:pri put:l.
+ ].
+ l addLast:aProcess.
+ aProcess state:#run.
] ifFalse:[
- 'ProcSched [info]: oops - resumeImmIRQ for unknown process' infoPrintCR.
+ 'ProcSched [info]: oops - resumeIRQ for unknown process: ' infoPrint.
+ id infoPrintCR.
]
"Modified: / 28.9.1998 / 11:36:53 / cg"
@@ -3141,6 +3142,6 @@
!ProcessorScheduler class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.194 2001-11-27 17:57:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.195 2001-12-06 08:52:25 cg Exp $'
! !
ProcessorScheduler initialize!