From 08611d5194144bbf5d96a1110aeb812db06e0901 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 6 May 2011 16:28:10 -0400 Subject: [PATCH] Add note re deadlocks --- src/hb-common.cc | 1 + src/hb-mutex-private.hh | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/hb-common.cc b/src/hb-common.cc index a223edbb3..02314b3df 100644 --- a/src/hb-common.cc +++ b/src/hb-common.cc @@ -293,6 +293,7 @@ hb_script_get_horizontal_direction (hb_script_t script) * should switch to using that insted for these too. */ +/* XXX this can result in deadlocks because we call user callbacks */ static hb_static_mutex_t user_data_mutex; bool diff --git a/src/hb-mutex-private.hh b/src/hb-mutex-private.hh index 65e589223..b52d97078 100644 --- a/src/hb-mutex-private.hh +++ b/src/hb-mutex-private.hh @@ -111,6 +111,10 @@ struct hb_static_mutex_t : hb_mutex_t HB_END_DECLS +/* XXX If the finish() callbacks of items in the set recursively try to + * modify the set, deadlock occurs. This needs fixing in set proper in + * fact. */ + template struct hb_threadsafe_set_t {