checkin from browser
authorClaus Gittinger <cg@exept.de>
Thu, 18 Jul 1996 20:40:39 +0200
changeset 1575 72fe308c1ba0
parent 1574 b2ad7985b2ea
child 1576 3f6c39471342
checkin from browser
ProcSched.st
ProcessorScheduler.st
--- 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!