ProcessorScheduler.st
changeset 2830 f82adeef20af
parent 2727 853b7910cff2
child 2831 02f9aa61f71b
--- a/ProcessorScheduler.st	Fri Aug 01 00:33:40 1997 +0200
+++ b/ProcessorScheduler.st	Tue Aug 05 16:06:35 1997 +0200
@@ -2264,7 +2264,7 @@
     "this is called, when there is absolutely nothing to do;
      hard wait for either input to arrive or a timeout to occur."
 
-    |fd index sema action wasBlocked|
+    |fd index sema action wasBlocked err|
 
     "/ must enable interrupts, to be able to get out of a
     "/ long wait (especially, to handle sigChild in the meantime)
@@ -2284,14 +2284,19 @@
     ].
 
     fd isNil ifTrue:[
-	(OperatingSystem lastErrorSymbol == #EBADF) ifTrue:[
-
-	    "/ mhmh - one of the fd's given to me is corrupt.
-	    "/ find out which one .... and remove it
-
-	    OperatingSystem clearLastErrorNumber.
-	    self removeCorruptedFds
-	].
+	(err := OperatingSystem lastErrorSymbol) notNil ifTrue:[
+	    err == #EBADF ifTrue:[
+
+	        "/ mhmh - one of the fd's given to me is corrupt.
+	        "/ find out which one .... and remove it
+
+	        'OperatingSystem [warning]: bad FD in select - clearing' infoPrintCR.
+	        OperatingSystem clearLastErrorNumber.
+	        self removeCorruptedFds
+	    ] ifFalse:[
+	        'OperatingSystem [warning]: error in select: ' infoPrint. err infoPrintCR.
+	    ].
+	]
     ] ifFalse:[
 	index := readFdArray indexOf:fd.
 	index ~~ 0 ifTrue:[
@@ -2531,6 +2536,6 @@
 !ProcessorScheduler class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.135 1997-06-28 15:05:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.136 1997-08-05 14:06:35 cg Exp $'
 ! !
 ProcessorScheduler initialize!