rem: recursive_lock_lock(&modules_lock);
add: recursive_lock_lock(&gModulesLock); hash_remove(gLoadedModulesHash, loadedModule); recursive_lock_unlock(&gModulesLock);
context: unload_module_file(const char *path){	loaded_module *themod; dprintf("unload_mdoule_file: %s\n", path);//	themod = (loaded_module*)hash_get(module_files, path, strlen(path));	if ((themod = (loaded_module*)hash_get(module_files, path, strlen(path))) == NULL)		return;	if (themod->ref_cnt != 0) {		dprintf("Can't unload %s due to ref_cnt = %d\n", themod->path, themod->ref_cnt);		return;	}	recursive_lock_lock(&modules_lock);	remque(themod);	hash_set(module_files, path, strlen(path), NULL);	recursive_lock_unlock(&modules_lock);	elf_unload_kspace(themod->path);	free(themod);}