void KprZeroconfPlatformStop() { #if KPR_ZEROCONF_EMBEDDED if (gInterfaceNotifier) { FskNetInterfaceRemoveNotifier(gInterfaceNotifier); gInterfaceNotifier = NULL; } FskTimeCallbackDispose(gEmbeddedServiceTimer); gEmbeddedServiceTimer = NULL; #endif }
void FskNetInterfaceTerminate(void) { while (interfaceChangeCBList->list) FskNetInterfaceRemoveNotifier((FskNetInterfaceNotifier)interfaceChangeCBList->list); FskNetCleanupNetworkEnumeration(); #if TARGET_OS_WIN32 removeWindowsNetworkInterfaceChangeTracker(); #elif TARGET_OS_IPHONE removeIOSNetworkInterfaceChangeTracker(); #elif TARGET_OS_MAC removeMacNetworkInterfaceChangeTracker(); #endif #if TARGET_OS_KPL KplNetInterfaceTerminate(); #endif /* TARGET_OS_KPL */ FskListMutexDispose(interfaceChangeCBList); }
FskErr FskHTTPServerDispose(FskHTTPServer http) { FskInstrumentedTypePrintfDebug(&gFskHTTPServerTypeInstrumentation, "FskHTTPServerDispose %p - useCount: %d\n", http, http ? http->useCount : 0); if (http) { // remove existing requests while (http->activeRequests) { FskHTTPServerRequest request = http->activeRequests; FskInstrumentedItemSendMessage(request, kFskHTTPInstrMsgRequestRemainsOnClose, request); if (kFskErrNone != doCallCondition(http->callbacks->requestCondition, request, kFskHTTPConditionConnectionTerminating, request->refCon)) FskHTTPServerRequestDispose(request); } FskNetInterfaceRemoveNotifier(http->interfaceNotifier); while (http->listeners) FskHTTPServerListenerDispose(http->listeners); sFskHTTPServerDownUse(http); } return kFskErrNone; }