On 7/13/2011 11:46, 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'm happy you see the same behaviour as I do.

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?

I don't think it is a hardware issue. It is likely a software issue. One of the layer between winsock and the network card has a bug. That is why you see it on one computer and not another.

Determining which layer is faulty will be a difficult task ! I don't know what to say to help you :-(

I agree that it's not a hardware issue. Do you know what layers are there approximately? I've already ruled out the driver of the NIC itself. I was mentioning the chipset since there is also software applicable (driver of the chipset). Also strange is that I have more machines of same brand and model, which do not show the same behavior.
It's a nice mystery :)

Anyways, I have somebody coming over to replace the motherboard in this machine, as a tryout.
I'll keep the list posted if I find more information myself.


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