g_mutex_lock(&thread->thread_mutex);
__gsource_remove_and_destroy(del_source);
+ __gsource_remove_and_destroy(gsource);
g_cond_signal(&thread->thread_cond);
g_mutex_unlock(&thread->thread_mutex);
+
+ return G_SOURCE_REMOVE;
}
}
}
gsource, gsource->fd, cond);
}
- if (gsource->type == SOURCE_TYPE_DISPOSABLE ||
- gsource->type == SOURCE_TYPE_FINALIZER) {
+ if (gsource->type == SOURCE_TYPE_DISPOSABLE) {
g_mutex_lock(&thread->thread_mutex);
__gsource_remove_and_destroy(gsource);
ret = G_SOURCE_REMOVE;