--- a/ProcSched.st Thu Aug 29 16:29:55 1996 +0200
+++ b/ProcSched.st Thu Aug 29 22:52:10 1996 +0200
@@ -1923,7 +1923,7 @@
readFdArray/writeFdArray in the debugger)"
readFdArray keysAndValuesDo:[:idx :fd |
- |rslt|
+ |rslt sema|
rslt := OperatingSystem
selectOnAnyReadable:(Array with:fd)
@@ -1934,12 +1934,16 @@
(rslt isNil and:[OperatingSystem lastErrorSymbol == #EBADF]) ifTrue:[
('PROCESSOR: removing invalid read fileDescriptor: ' , fd printString) errorPrintNL.
readFdArray at:idx put:nil.
- OperatingSystem clearLastErrorNumber
+ OperatingSystem clearLastErrorNumber.
+ (sema := readSemaphoreArray at:idx) notNil ifTrue:[
+ readSemaphoreArray at:idx put:nil.
+ sema signal.
+ ].
]
].
writeFdArray keysAndValuesDo:[:idx :fd |
- |rslt|
+ |rslt sema|
rslt := OperatingSystem
selectOnAnyReadable:nil
@@ -1950,12 +1954,16 @@
(rslt isNil and:[OperatingSystem lastErrorSymbol == #EBADF]) ifTrue:[
('PROCESSOR: removing invalid write fileDescriptor: ' , fd printString) errorPrintNL.
writeFdArray at:idx put:nil.
- OperatingSystem clearLastErrorNumber
+ OperatingSystem clearLastErrorNumber.
+ (sema := writeSemaphoreArray at:idx) notNil ifTrue:[
+ writeSemaphoreArray at:idx put:nil.
+ sema signal.
+ ].
]
].
"Modified: 12.4.1996 / 09:32:58 / stefan"
- "Modified: 24.7.1996 / 16:55:47 / cg"
+ "Modified: 29.8.1996 / 22:42:28 / cg"
!
schedulerInterrupt
@@ -2096,6 +2104,6 @@
!ProcessorScheduler class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.88 1996-08-14 13:47:47 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.89 1996-08-29 20:52:10 cg Exp $'
! !
ProcessorScheduler initialize!
--- a/ProcessorScheduler.st Thu Aug 29 16:29:55 1996 +0200
+++ b/ProcessorScheduler.st Thu Aug 29 22:52:10 1996 +0200
@@ -1923,7 +1923,7 @@
readFdArray/writeFdArray in the debugger)"
readFdArray keysAndValuesDo:[:idx :fd |
- |rslt|
+ |rslt sema|
rslt := OperatingSystem
selectOnAnyReadable:(Array with:fd)
@@ -1934,12 +1934,16 @@
(rslt isNil and:[OperatingSystem lastErrorSymbol == #EBADF]) ifTrue:[
('PROCESSOR: removing invalid read fileDescriptor: ' , fd printString) errorPrintNL.
readFdArray at:idx put:nil.
- OperatingSystem clearLastErrorNumber
+ OperatingSystem clearLastErrorNumber.
+ (sema := readSemaphoreArray at:idx) notNil ifTrue:[
+ readSemaphoreArray at:idx put:nil.
+ sema signal.
+ ].
]
].
writeFdArray keysAndValuesDo:[:idx :fd |
- |rslt|
+ |rslt sema|
rslt := OperatingSystem
selectOnAnyReadable:nil
@@ -1950,12 +1954,16 @@
(rslt isNil and:[OperatingSystem lastErrorSymbol == #EBADF]) ifTrue:[
('PROCESSOR: removing invalid write fileDescriptor: ' , fd printString) errorPrintNL.
writeFdArray at:idx put:nil.
- OperatingSystem clearLastErrorNumber
+ OperatingSystem clearLastErrorNumber.
+ (sema := writeSemaphoreArray at:idx) notNil ifTrue:[
+ writeSemaphoreArray at:idx put:nil.
+ sema signal.
+ ].
]
].
"Modified: 12.4.1996 / 09:32:58 / stefan"
- "Modified: 24.7.1996 / 16:55:47 / cg"
+ "Modified: 29.8.1996 / 22:42:28 / cg"
!
schedulerInterrupt
@@ -2096,6 +2104,6 @@
!ProcessorScheduler class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.88 1996-08-14 13:47:47 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProcessorScheduler.st,v 1.89 1996-08-29 20:52:10 cg Exp $'
! !
ProcessorScheduler initialize!