1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Adds a mutex implementation based on c++ mutex to harfbuzz. 3*c8dee2aaSAndroid Build Coastguard Worker */ 4*c8dee2aaSAndroid Build Coastguard Worker #include <mutex> 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Worker using hb_mutex_impl_t = std::mutex; 7*c8dee2aaSAndroid Build Coastguard Worker #define HB_MUTEX_IMPL_INIT UNUSED 8*c8dee2aaSAndroid Build Coastguard Worker #define hb_mutex_impl_init(M) HB_STMT_START { new (M) hb_mutex_impl_t; } HB_STMT_END 9*c8dee2aaSAndroid Build Coastguard Worker #define hb_mutex_impl_lock(M) (M)->lock () 10*c8dee2aaSAndroid Build Coastguard Worker #define hb_mutex_impl_unlock(M) (M)->unlock () 11*c8dee2aaSAndroid Build Coastguard Worker #define hb_mutex_impl_finish(M) HB_STMT_START { (M)->~hb_mutex_impl_t(); } HB_STMT_END 12