void shutdownLibrary() { closeAllGUIScreens(); schedStop(); aboutToCompileLibrary(); TempoClock_stopAll(); pthread_mutex_lock (&gLangMutex); closeAllCustomPorts(); if (compiledOK) { VMGlobals *g = gMainVMGlobals; g->canCallOS = true; g->gc->RunAllFinalizers(); g->canCallOS = false; } pyr_pool_runtime->FreeAll(); compiledOK = false; pthread_mutex_unlock (&gLangMutex); }
void shutdownLibrary() { closeAllGUIScreens(); schedStop(); runShutdown(); TempoClock_stopAll(); gLangMutex.lock(); closeAllCustomPorts(); if (compiledOK) { VMGlobals *g = gMainVMGlobals; g->canCallOS = true; g->gc->RunAllFinalizers(); g->canCallOS = false; } pyr_pool_runtime->FreeAll(); compiledOK = false; gLangMutex.unlock(); SC_LanguageConfig::freeLibraryConfig(); }