void native_exec_exit(void) { native_module_exit(); if (native_exec_areas == NULL) return; vmvector_delete_vector(GLOBAL_DCONTEXT, native_exec_areas); native_exec_areas = NULL; }
void loader_exit(void) { /* We must unload for detach so can't leave them loaded */ acquire_recursive_lock(&privload_lock); /* The list is kept in reverse-dependent order so we can unload from the * front without breaking dependencies. */ while (modlist != NULL) privload_unload(modlist); /* os related loader finalization */ os_loader_exit(); vmvector_delete_vector(GLOBAL_DCONTEXT, modlist_areas); release_recursive_lock(&privload_lock); DELETE_RECURSIVE_LOCK(privload_lock); }
void memcache_exit(void) { vmvector_delete_vector(GLOBAL_DCONTEXT, all_memory_areas); all_memory_areas = NULL; }