ioctl() on socket fd's take 3 seconds on 1.7.7
Tue Nov 23 12:06:00 GMT 2010
On Nov 22 21:29, Jason Curl wrote:
> The actual delays are caused by SendARP() called from get_xp_ifs().
> Interestingly enough, it isn't always slow, only sometimes.
First of all, thanks for looking deeper into this.
> And the interface that is failing: D4B7FEA9 = 169.254.183.212
> doesn't appear by a call to "ipconfig /all". I'm guessing that
> Windows is actually making a network request for this non-existent
> ./Windows/v5.0/Include/WinError.h:#define ERROR_BAD_NET_NAME 67L
> "The network name cannot be found. This error is returned on Windows
> Vista and later when an ARP reply to the SendARP request was not
> received. This error occurs if the destination IPv4 address could
> not be reached."
> I'm not sure where this IP is currently coming from...
This autoconfig address is returned by GetAdapterAddresses so it has
been configured at one point, even if the interface is not visible.
Ok, so SendARP is kind of a problematic call. As you can see from the
source code, it's only called to set the IFF_NOARP flag. Probably
that's a bit over the top. What about just disabling this code?
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin