On 7/13/2011 7:23, Francois PIETTE wrote:
AFAIR the workaround was to do your own ARP request first in order
to check whether the destination exists or not, utilizing the IP Helper API.

Yes, that what I did.

How can I confirm that this is what's happening with me?

In my case, the blocking was occuring in the main thread. TO see it it was then easy: using the mouse, I moved continuously the form in small circles. When blocked, the application don't paint the form and the window was stuck. Then using WireShark I was able to see that the blocking was when ARP requests were sent to non existant address.

I just did the same test and can confirm this is the case. The call to closesocket() is blocking until all 3 arp requests have been sent.

Now the interesting part is that on another Windows 7 machine the call to closesocket() is not blocking. When looking with wireshark I see that the 3 arp requests are sent, but closesocket() simply does not wait for them.

I did a compare of winsock.dll and ws2_32.dll from both machines, and they are identical. Does anybody have a good idea how to search for the cause for different behavior, or have an idea where it could originate from? Could it be something related to the chipset?

Thanks all!

Merijn
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to