Removes a source from its MainContext, 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 SignalSource: 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 the MainContext is running in.
If the source is currently attached to a MainContext, destroying it will effectively unset the callback similar to calling set_callback. This can mean, that the data's DestroyNotify gets called right away.