Eliot Miranda uploaded a new version of Network to project The Trunk: http://source.squeak.org/trunk/Network-eem.173.mcz
==================== Summary ====================
Name: Network-eem.173 Author: eem Time: 29 February 2016, 7:14:37.642865 pm UUID: ea895f60-b473-4bd3-95b3-9dca79beeb9e Ancestors: Network-eem.172
If preemption does not yield then Socket>>sendData:count: cannot simply spin while failing to send any data. It must at least yield (but why does it not check for errors?).
=============== Diff against Network-eem.172 ===============
Item was changed: ----- Method: Socket>>sendData:count: (in category 'sending') ----- sendData: buffer count: n + "Send the amount of data from the given buffer." + | sent totalSent | + totalSent := 0. + [totalSent < n] whileTrue: + [sent := self sendSomeData: buffer startIndex: totalSent+1 count: n-totalSent. + totalSent := totalSent + sent. + sent = 0 ifTrue: "If no data was sent don't just sit here spinning hard..." + [Processor yield]].! - "Send the amount of data from the given buffer" - | sent | - sent := 0. - [sent < n] whileTrue:[ - sent := sent + (self sendSomeData: buffer startIndex: sent+1 count: (n-sent))].!
packages@lists.squeakfoundation.org