gmain: Clarify that g_source_set_callback() is safe on attached sources

g_source_set_callback() and g_source_set_callback_indirect() are both
safe to call zero or more times on attached sources. The change in
callback will take effect the next time the source is dispatched, after
the set_callback() call returns (it could block due to locking).

https://gitlab.gnome.org/GNOME/glib/issues/827
This commit is contained in:
Philip Withnall 2014-02-12 10:53:57 +00:00 committed by Philip Withnall
parent c2501a81f8
commit bfe5906b40

View File

@ -1584,6 +1584,10 @@ static GSourceCallbackFuncs g_source_callback_funcs = {
* an initial reference count on @callback_data, and thus
* @callback_funcs->unref will eventually be called once more
* than @callback_funcs->ref.
*
* It is safe to call this function multiple times on a source which has already
* been attached to a context. The changes will take effect for the next time
* the source is dispatched after this call returns.
**/
void
g_source_set_callback_indirect (GSource *source,
@ -1640,7 +1644,11 @@ g_source_set_callback_indirect (GSource *source,
* on how to handle memory management of @data.
*
* Typically, you won't use this function. Instead use functions specific
* to the type of source you are using.
* to the type of source you are using, such as g_idle_add() or g_timeout_add().
*
* It is safe to call this function multiple times on a source which has already
* been attached to a context. The changes will take effect for the next time
* the source is dispatched after this call returns.
**/
void
g_source_set_callback (GSource *source,