/* Change Logs: Date Author Notes  yi.qiu first version  */
int dlclose(void *handle)
/* Change Logs: Date Author Notes  yi.qiu first version  */
int dlclose(void *handle)
{
    struct rt_dlmodule *module;
    RT_ASSERT(handle != RT_NULL);
    module = (struct rt_dlmodule *)handle;
    rt_enter_critical();
    module->nref--;
    if (module->nref <= 0)
    {
        rt_exit_critical();
        dlmodule_destroy(module);
    }
    else
    {
        rt_exit_critical();
    }
    return RT_TRUE;
}