mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-24 23:00:07 +01:00
glib-aux/trivial: clearify code comment in nm_g_source_destroy_and_unref()
This commit is contained in:
parent
25aa6c0552
commit
c1dab5709d
1 changed files with 5 additions and 4 deletions
|
|
@ -1658,15 +1658,16 @@ nm_g_source_destroy_and_unref(GSource *source)
|
|||
* will destroy the user-data of the callback right away (and not only
|
||||
* during the last g_source_unref()).
|
||||
*
|
||||
* It also means, that if the user data itself has the reference to the
|
||||
* source, then this will lead to crash:
|
||||
* This means for example, if the user data itself has the reference to the
|
||||
* source, then the following would lead to a crash:
|
||||
*
|
||||
* g_source_destroy(user_data->my_source);
|
||||
* // ups, user_data was destroyed (if source was attached).
|
||||
* g_source_unref(user_data->my_source);
|
||||
*
|
||||
* nm_g_source_destroy_and_unref() and nm_clear_g_source_inst() does not
|
||||
* suffer from this problem. */
|
||||
* nm_g_source_destroy_and_unref(user_data->my_source) and nm_clear_g_source_inst(&user_data->my_source)
|
||||
* does not have this problem (of course, afterwards, user_data would be a dangling
|
||||
* pointer). */
|
||||
g_source_destroy(source);
|
||||
g_source_unref(source);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue