Esempio n. 1
0
File: factory.c Progetto: abw/hemp
HempBool
hemp_meta_factory_cleaner(
    HempHash factories,
    HempPos  position,
    HempSlot item
) {
    HempFactory factory = (HempFactory) hemp_val_ptr(item->value);
    hemp_debug_msg("cleaning %s factory\n", factory->name);
    hemp_factory_free(factory);
    return HEMP_TRUE;
}
Esempio n. 2
0
HempBool
hemp_module_unload(
    HempModule     module
) {
    if (! module->handle)
        return HEMP_TRUE;

    // TODO: add unloader

    if (dlclose(module->handle) == 0) {
        hemp_debug_init("closed '%s' module library\n", module->name);
        module->handle = NULL;
        return HEMP_TRUE;
    }
    else {
        hemp_module_failed(module, dlerror());
        // TODO: should this be a fatal error or is it too late to care?
        hemp_debug_msg(
            "Failed to close '%s' module library: %s \n", 
            module->name, module->error
        );
        return HEMP_FALSE;
    }
}