static void gs_signal_location_base_signal_lock_info(const char* funname, int just_init); static void gs_signal_unlocation_base_signal_lock_info(void); static int gs_signal_thread_kill(ThreadId tid, int signo) { (void)pthread_mutex_lock(&(g_instance.signal_base->slots_lock)); gs_signal_location_base_signal_lock_info(__func__, 0); …… for (loop = 0; loop < g_instance.signal_base->slots_size; loop++) { …… } …… gs_signal_unlocation_base_signal_lock_info(); (void)pthread_mutex_unlock(&(g_instance.signal_base->slots_lock)); }