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 {