mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-26 22:16:16 +01:00
Merge branch 'tsan-gtask' into 'master'
gtask: Separate GTask fields memory locations to avoid data races See merge request GNOME/glib!691
This commit is contained in:
commit
d7c93e3f86
17
gio/gtask.c
17
gio/gtask.c
@ -563,15 +563,22 @@ struct _GTask {
|
||||
/* This can’t be in the bit field because we access it from TRACE(). */
|
||||
gboolean thread_cancelled;
|
||||
|
||||
gboolean check_cancellable : 1;
|
||||
gboolean completed : 1;
|
||||
gboolean return_on_cancel : 1;
|
||||
gboolean synchronous : 1;
|
||||
/* Protected by the lock when task is threaded: */
|
||||
gboolean thread_complete : 1;
|
||||
gboolean blocking_other_task : 1;
|
||||
gboolean return_on_cancel : 1;
|
||||
gboolean : 0;
|
||||
|
||||
/* Unprotected, but written to when task runs in thread: */
|
||||
gboolean completed : 1;
|
||||
gboolean had_error : 1;
|
||||
gboolean result_set : 1;
|
||||
gboolean ever_returned : 1;
|
||||
gboolean : 0;
|
||||
|
||||
/* Read-only once task runs in thread: */
|
||||
gboolean check_cancellable : 1;
|
||||
gboolean synchronous : 1;
|
||||
gboolean blocking_other_task : 1;
|
||||
|
||||
GError *error;
|
||||
union {
|
||||
|
Loading…
Reference in New Issue
Block a user