Example #1
0
int module_unload(const char *name) {
	void *mod = module_find_by_name(name);
	if (mod == NULL) return 1;
	module_func unload;
	unload = dlsym(mod, "unload");
	if (dlerror()) {
		logfmt(LOG_ERROR, "Cannot call 'unload' for %s - error: %s", name, dlerror());
		return 1;
	}
	module_unregister(mod);
	int result = unload();
	return result;
}
Example #2
0
int cm3ice_close(cm3ice_ctrl_t * ctrl)
{
	if (!(ctrl->flags & CM3ICE_OPENED)) {
		DCC_LOG(LOG_WARNING, "not open!");
		return ICE_ERROR;
	}

	DCC_LOG(LOG_TRACE, "[CLOSE]");
	module_unregister(ctrl->mod_id); 
	ctrl->mod_id = -1;
	ctrl->flags = 0;

	return ICE_OK;
}