Lines Matching refs:ssync

137     struct state_sync *ssync;  in init_state_sync_obj()  local
139 ssync = (struct state_sync*)mmap(NULL, sizeof(struct state_sync), in init_state_sync_obj()
141 if (ssync == MAP_FAILED) { in init_state_sync_obj()
148 pthread_mutex_init(&ssync->mutex, &mattr); in init_state_sync_obj()
153 pthread_cond_init(&ssync->condition, &cattr); in init_state_sync_obj()
155 ssync->state = STATE_INIT; in init_state_sync_obj()
156 return ssync; in init_state_sync_obj()
159 void destroy_state_sync_obj(struct state_sync *ssync) { in destroy_state_sync_obj() argument
160 pthread_cond_destroy(&ssync->condition); in destroy_state_sync_obj()
161 pthread_mutex_destroy(&ssync->mutex); in destroy_state_sync_obj()
162 munmap(ssync, sizeof(struct state_sync)); in destroy_state_sync_obj()
165 void signal_state(struct state_sync *ssync, int state) { in signal_state() argument
166 pthread_mutex_lock(&ssync->mutex); in signal_state()
167 ssync->state = state; in signal_state()
168 pthread_cond_signal(&ssync->condition); in signal_state()
169 pthread_mutex_unlock(&ssync->mutex); in signal_state()
172 void wait_for_state(struct state_sync *ssync, int state) { in wait_for_state() argument
173 pthread_mutex_lock(&ssync->mutex); in wait_for_state()
174 while (ssync->state != state) { in wait_for_state()
175 pthread_cond_wait(&ssync->condition, &ssync->mutex); in wait_for_state()
177 pthread_mutex_unlock(&ssync->mutex); in wait_for_state()
215 struct state_sync *ssync; in runMemStressTest() local
239 ASSERT_FALSE((ssync = init_state_sync_obj()) == NULL) in runMemStressTest()
251 wait_for_state(ssync, STATE_CHILD_READY); in runMemStressTest()
259 signal_state(ssync, STATE_PARENT_READY); in runMemStressTest()
282 signal_state(ssync, STATE_CHILD_READY); in runMemStressTest()
283 wait_for_state(ssync, STATE_PARENT_READY); in runMemStressTest()
290 destroy_state_sync_obj(ssync); in runMemStressTest()