X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/79da30927621c8ab01ff9e9a834331b922e7fbd1..88bed4b484a2f78c284c049428cd82adcc69f25d:/src/mac/carbon/gsocket.c diff --git a/src/mac/carbon/gsocket.c b/src/mac/carbon/gsocket.c index 5411425556..290f75ee64 100644 --- a/src/mac/carbon/gsocket.c +++ b/src/mac/carbon/gsocket.c @@ -15,6 +15,7 @@ #ifndef __GSOCKET_STANDALONE__ #include "wx/setup.h" +#include "wx/platform.h" #endif #if wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) @@ -29,6 +30,7 @@ #define TRUE 1 #endif #else + #include #define OTUNIXERRORS 1 #include #include @@ -84,7 +86,7 @@ extern pascal void OTDebugStr(const char* str); #include #endif InetSvcRef gInetSvcRef = 0 ; - +int gOTInited = 0 ; OSStatus DoNegotiateIPReuseAddrOption(EndpointRef ep, Boolean enableReuseIPMode); @@ -211,6 +213,7 @@ int GSocket_Verify_Inited() return TRUE ; InitOpenTransportInContext(kInitOTForApplicationMask, &clientcontext); + gOTInited = 1 ; gInetSvcRef = OTOpenInternetServicesInContext(kDefaultInternetServicesPath, NULL, &err, clientcontext); #else @@ -218,6 +221,7 @@ int GSocket_Verify_Inited() return TRUE ; InitOpenTransport() ; + gOTInited = 1 ; gInetSvcRef = OTOpenInternetServices(kDefaultInternetServicesPath, NULL, &err); #endif if ( gInetSvcRef == NULL || err != kOTNoError ) @@ -230,13 +234,16 @@ int GSocket_Verify_Inited() void GSocket_Cleanup() { - if ( gInetSvcRef != NULL ) - OTCloseProvider( gInetSvcRef ); -#if TARGET_CARBON - CloseOpenTransportInContext( NULL ) ; -#else - CloseOpenTransport() ; -#endif + if ( gOTInited != 0 ) + { + if ( gInetSvcRef != NULL ) + OTCloseProvider( gInetSvcRef ); + #if TARGET_CARBON + CloseOpenTransportInContext( NULL ) ; + #else + CloseOpenTransport() ; + #endif + } } /* Constructors / Destructors for GSocket */ @@ -267,7 +274,7 @@ GSocket *GSocket_new() socket->m_server = FALSE; socket->m_stream = TRUE; socket->m_non_blocking = FALSE; - socket->m_timeout = 10*1000; + socket->m_timeout = 1*1000; /* 10 sec * 1000 millisec */ socket->m_takesEvents = TRUE ; socket->m_mac_events = wxMacGetNotifierTable() ; @@ -1473,7 +1480,7 @@ GSocketError _GSocket_Input_Timeout(GSocket *socket) { OTResult state ; OTByteCount sz = 0 ; - state = OTGetEndpointState(socket->m_endpoint); + state = OTGetEndpointState(socket->m_endpoint); OTCountDataBytes( socket->m_endpoint , &sz ) ; if ( state == T_INCON || sz > 0 )