Skip to content

gthread: Destroy value after replacing it in g_private_replace()

If the old value is destroyed before updating the TLS value in pthreads (or the Windows equivalent) then there’s a risk of infinite recursion if g_private_replace() is called from within the GDestroyNotify.

Avoid that by destroying the old value after doing the TLS update.

Thanks to Matthias Clasen for diagnosing the issue.

Signed-off-by: Philip Withnall

Fixes: #2210 (closed)

Merge request reports