wine 0.9.5 IO completion port questions

James McKenzie jjmckenzie51 at sprintpcs.com
Thu Dec 6 18:59:10 CST 2007


Ken Thomases wrote:
> On Dec 3, 2007, at 4:05 PM, Andrey Turkin wrote:
>
>   
>> Marius Slyzius wrote:
>>     
>>> 2) possible bug: the server sends 1500 bytes with WsaSend ( with 2
>>> WSABUFFER ) and the client receive only 1452 bytes and calls WsaRecv
>>> again. Also on the server, the completion port receive event that
>>> transferred 1452 bytes. However, the last 8 bytes are never sends nor
>>> completion port event arrives. Is it perhaps something to do with the
>>> VMWare tool where I run Ubuntu 7.10?
>>>
>>>       
>> WsaSend can send partial data when operating on non-blocking socket;
>> from your description it looks like this is the case. Is this error
>> reproducible with the same numbers every run?
>> Your both questions are actually not about IOCP but about asynchronous
>> I/O support.
>>     
>
>
> My brain may be misfiring, but isn't 1452 bytes a common MTU size?   
> Are your client and server remote from one another?  In that case,  
> your client may really be receiving 1452 data bytes first, with the  
> rest coming a (very) short while later.
>   
Yes, 1452 is a common MTU, but I recommend setting 576 or smaller for
testing of lines.  You MAY
encounter problems sending exactly 1500 bytes over old style 10Base
systems, too.  It may be necessary
to pad on send to a different number and then remove the padding on receipt.

James




More information about the wine-devel mailing list