Fix for unexplained change in socket behavior where failed connections throw a CONNECT event immediately before thowing a LOST event.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -39,7 +39,14 @@ void Mac_Socket_Callback(CFSocketRef s, CFSocketCallBackType callbackType,
|
||||
{
|
||||
case kCFSocketConnectCallBack:
|
||||
assert(!socket->m_server);
|
||||
socket->Detected_Write();
|
||||
// KH: If data is non-NULL, the connect failed, do not call Detected_Write,
|
||||
// which will only end up creating a spurious connect event because the
|
||||
// call to getsocketopt SO_ERROR inexplicably returns no error.
|
||||
// The change in behavior cannot be traced to any particular commit or
|
||||
// timeframe so I'm not sure what to think, but after so many hours,
|
||||
// this seems to address the issue and it's time to move on.
|
||||
if (data == NULL)
|
||||
socket->Detected_Write();
|
||||
break;
|
||||
case kCFSocketReadCallBack:
|
||||
socket->Detected_Read();
|
||||
|
Reference in New Issue
Block a user