[squeak-dev] The Trunk: Network-eem.173.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Mar 1 03:15:10 UTC 2016


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))].!



More information about the Squeak-dev mailing list