bogus patch to bind() dlls/winsock/socket.c (request removal)

Jeremy White jwhite at codeweavers.com
Sun Jan 11 17:43:59 CST 2004


> Well, the patch apparently helps in some cases and hurts in others, so
> the only way to decide is to write a test and determine what the exact
> behavior is under Windows. I agree the current behavior looks wrong,
> but that doesn't mean anything when dealing with Microsoft code...

A quick foo.c shows that even Windows 98 respects the lack
of the REUSEADDR flag in meaningful ways; the attached
socktest.c shows that binding the same port twice fails
on the second request, but emulating the current Wine
behavior (which can be done by turning on parm #4)
causes a success.

As such, Wine is badly broken; any algorithm that relies
on iterating through possible ports and doing something
meaningful when a port is already in use will be utterly
useless with the current code.

I'll go ahead and see if I can't figure out how to
modify the regression tests to properly test for this.

Cheers,

Jer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: socktest.c
Type: text/x-c
Size: 2239 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20040111/9b285e73/socktest.bin


More information about the wine-devel mailing list