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:
|
case kCFSocketConnectCallBack:
|
||||||
assert(!socket->m_server);
|
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;
|
break;
|
||||||
case kCFSocketReadCallBack:
|
case kCFSocketReadCallBack:
|
||||||
socket->Detected_Read();
|
socket->Detected_Read();
|
||||||
|
Reference in New Issue
Block a user