ws2_32: implement AcceptEx and GetAcceptExSockaddrs (try 3)

Mike Kaplinskiy mike.kaplinskiy at
Wed Sep 22 21:18:04 CDT 2010

On Wed, Sep 22, 2010 at 6:13 PM, James Mckenzie
<jjmckenzie51 at> wrote:
> -----Original Message-----
>>From: Ricardo Filipe <ricardojdfilipe at>
>>Sent: Sep 22, 2010 1:18 PM
>>To: wine-devel at
>>Subject: Re: ws2_32: implement AcceptEx and GetAcceptExSockaddrs (try 3)
>>2010/9/21 Mike Kaplinskiy <mike.kaplinskiy at>:
>>> Thanks for the feedback Alexandre. The complexity of the wine APC &
>>> I/O system never stops amazing me. Third time's the charm?
>>> try 3: correctly use an apc to free internal async structures (which
>>> would explain why we have the apc parameter...). Strangely moving
>>> SetEvent & AddCompletion to the apc makes it not work ( exercise
>>> for another time)
>>> try 2: use the new async i/o callbacks
>>> ---
>>>  dlls/ws2_32/socket.c     |  257 +++++++++++++++++++++++++++++++++++++++++++++-
>>>  dlls/ws2_32/tests/sock.c |   14 ++-
>>>  2 files changed, 263 insertions(+), 8 deletions(-)
>>thank you for the perseverence to make this possible in the main tree.
> +1.  Thank you Mike.
> James McKenzie

Thanks guys, but I think most of the credit should go to Alexandre for
putting up with me over the last year and helping me do this
correctly. If anything, I hope this goes to show the Alexandre is
willing to accept correct solutions and it's our (developer's) job to
make the patches correct. After all, he (more than likely) has a
larger experience working on wine than those who complain that their
work isn't accepted ;).

Anyway back to the patch - as an FYI this patch may not make things
better. It gives a somewhat incomplete implementation (you can see the
FIXME @ WS2_async_accept), and you may encounter various freezing
issues since we don't cancel requests properly. That's something a lot
more complicated to do and I do not yet have a good idea on how to do
it correctly. There are also two minor things we need to implement to
make sure we're not triggering this behavior too much
prevalent the freezes are.


More information about the wine-devel mailing list