--- a/NonPositionableExternalStream.st Thu Oct 23 00:02:18 2003 +0200
+++ b/NonPositionableExternalStream.st Thu Oct 23 00:07:17 2003 +0200
@@ -447,15 +447,16 @@
nextPutBytes:initialWriteCount from:buffer startingAt:initialOffset
"redefined, to wait until stream is writable, to avoid blocking in a write"
- |offset remaining wasBlocking|
+ |count offset remaining wasBlocking|
offset := initialOffset.
remaining := initialWriteCount.
wasBlocking := self blocking:false.
- [remaining ~~ 0] whileTrue:[ |count|
- self writeWait.
+ [remaining ~~ 0] whileTrue:[
count := super nextPutBytes:remaining from:buffer startingAt:offset.
+ count ~~ remaining ifTrue:[ self writeWait. ].
+
remaining := remaining - count.
offset := offset + count.
].
@@ -467,5 +468,5 @@
!NonPositionableExternalStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/NonPositionableExternalStream.st,v 1.47 2003-10-21 22:55:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/NonPositionableExternalStream.st,v 1.48 2003-10-22 22:07:17 cg Exp $'
! !