3 void flag_ini(Flag *flag)
6 pthread_cond_init(&flag->cnd, NULL);
7 pthread_mutex_init(&flag->mtx, NULL);
10 void flag_dst(Flag *flag)
12 pthread_cond_destroy(&flag->cnd);
13 pthread_mutex_destroy(&flag->mtx);
16 void flag_set(Flag *flag)
18 pthread_mutex_lock(&flag->mtx);
20 pthread_cond_broadcast(&flag->cnd);
21 pthread_mutex_unlock(&flag->mtx);
24 void flag_slp(Flag *flag)
26 pthread_mutex_lock(&flag->mtx);
28 pthread_cond_wait(&flag->cnd, &flag->mtx);
29 pthread_mutex_unlock(&flag->mtx);