--- a/ProcSched.st Thu Jul 18 20:30:43 1996 +0200
+++ b/ProcSched.st Thu Jul 18 20:40:39 1996 +0200
@@ -1981,7 +1981,7 @@
The idle actions are a leftover from previous ST/X releases and will
vanish (installing a low-prio process has the same effect)."
- |millis doingGC|
+ |millis doingGC anySema|
doingGC := true.
[doingGC] whileTrue:[
@@ -2027,14 +2027,17 @@
"/ and no readSemaphores are present (which means that noone is waiting for input)
"/ and no writeSemaphores are present
- millis isNil ifTrue:[
- readSemaphoreArray do:[:sema | sema notNil ifTrue:[^ self]].
- writeSemaphoreArray do:[:sema | sema notNil ifTrue:[^ self]].
+ anySema := false.
+ readSemaphoreArray do:[:sema | sema notNil ifTrue:[anySema := true]].
+ anySema ifFalse:[
+ writeSemaphoreArray do:[:sema | sema notNil ifTrue:[anySema := true]].
+ ].
+ anySema ifFalse:[
self anyUserProcessAtAll ifFalse:[
dispatching := false.
^ self
]
- ]
+ ].
].
OperatingSystem supportsSelect ifFalse:[
@@ -2050,23 +2053,19 @@
].
millis isNil ifTrue:[
- exitWhenNoMoreUserProcesses ifTrue:[
- millis := 100
- ] ifFalse:[
- millis := 9999.
- ]
+ millis := 9999.
] ifFalse:[
millis := millis rounded
].
self checkForInputWithTimeout:millis
"Modified: 14.12.1995 / 13:37:46 / stefan"
- "Modified: 18.7.1996 / 20:30:24 / cg"
+ "Modified: 18.7.1996 / 20:40:19 / cg"
! !
!ProcessorScheduler class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.83 1996-07-18 18:30:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.84 1996-07-18 18:40:39 cg Exp $'
! !
ProcessorScheduler initialize!
--- a/ProcessorScheduler.st Thu Jul 18 20:30:43 1996 +0200
+++ b/ProcessorScheduler.st Thu Jul 18 20:40:39 1996 +0200
@@ -1981,7 +1981,7 @@
The idle actions are a leftover from previous ST/X releases and will
vanish (installing a low-prio process has the same effect)."
- |millis doingGC|
+ |millis doingGC anySema|
doingGC := true.
[doingGC] whileTrue:[
@@ -2027,14 +2027,17 @@
"/ and no readSemaphores are present (which means that noone is waiting for input)
"/ and no writeSemaphores are present
- millis isNil ifTrue:[
- readSemaphoreArray do:[:sema | sema notNil ifTrue:[^ self]].
- writeSemaphoreArray do:[:sema | sema notNil ifTrue:[^ self]].
+ anySema := false.
+ readSemaphoreArray do:[:sema | sema notNil ifTrue:[anySema := true]].
+ anySema ifFalse:[
+ writeSemaphoreArray do:[:sema | sema notNil ifTrue:[anySema := true]].
+ ].
+ anySema ifFalse:[
self anyUserProcessAtAll ifFalse:[
dispatching := false.
^ self
]
- ]
+ ].
].
OperatingSystem supportsSelect ifFalse:[
@@ -2050,23 +2053,19 @@
].
millis isNil ifTrue:[
- exitWhenNoMoreUserProcesses ifTrue:[
- millis := 100
- ] ifFalse:[
- millis := 9999.
- ]
+ millis := 9999.
] ifFalse:[
millis := millis rounded
].
self checkForInputWithTimeout:millis
"Modified: 14.12.1995 / 13:37:46 / stefan"
- "Modified: 18.7.1996 / 20:30:24 / cg"
+ "Modified: 18.7.1996 / 20:40:19 / cg"
! !
!ProcessorScheduler class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.83 1996-07-18 18:30:43 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.84 1996-07-18 18:40:39 cg Exp $'
! !
ProcessorScheduler initialize!