Removes a source from its
GMainContext, if any, and mark it as
destroyed. The source cannot be subsequently added to another
context. It is safe to call this on sources which have already been
removed from their context.
This does not unref the
GSource: if you still hold a reference, use
g_source_unref() to drop it.
This function is safe to call from any thread, regardless of which thread
GMainContext is running in.
If the source is currently attached to a
GMainContext, destroying it
will effectively unset the callback similar to calling g_source_set_callback().
This can mean, that the data’s
GDestroyNotify gets called right away.