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