Example #1
0
static void defer_cb(pa_mainloop_api*api, pa_defer_event *e, void *userdata) {
    void *state = NULL;
    pa_core *c = PA_CORE(userdata);
    pa_module *m;

    pa_core_assert_ref(c);
    api->defer_enable(e, 0);

    while ((m = pa_idxset_iterate(c->modules, &state, NULL)))
        if (m->unload_requested)
            pa_module_unload(c, m, TRUE);
}
Example #2
0
static int core_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offset, pa_memchunk *chunk) {
    pa_core *c = PA_CORE(o);

    pa_core_assert_ref(c);

    switch (code) {

        case PA_CORE_MESSAGE_UNLOAD_MODULE:
            pa_module_unload(c, userdata, true);
            return 0;

        default:
            return -1;
    }
}
static void cmtspeech_unload_defer_cb(pa_mainloop_api *ma, pa_defer_event *de, void *userdata) {
    pa_module *m;
    pa_assert_se(m = (pa_module *) userdata);

    pa_module_unload(m->core, m, true);
}