xref: /openbsd-src/regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c (revision ce8a7339e20e3e13b3dadd581f8977d7576826a1)
1*ce8a7339Sguenther /*	$OpenBSD: sem_getvalue.c,v 1.2 2012/03/03 09:36:26 guenther Exp $	*/
23fbe19a4Smpi /*
33fbe19a4Smpi  * Martin Pieuchot <mpi@openbsd.org>, 2011. Public Domain.
43fbe19a4Smpi  */
53fbe19a4Smpi 
63fbe19a4Smpi #include <unistd.h>
73fbe19a4Smpi #include <semaphore.h>
83fbe19a4Smpi #include "test.h"
93fbe19a4Smpi 
10*ce8a7339Sguenther sem_t sem;
11*ce8a7339Sguenther 
123fbe19a4Smpi int
main(int argc,char ** argv)133fbe19a4Smpi main(int argc, char **argv)
143fbe19a4Smpi {
153fbe19a4Smpi 	int val;
163fbe19a4Smpi 
173fbe19a4Smpi 	CHECKr(sem_init(&sem, 0, 0));
183fbe19a4Smpi 	CHECKe(sem_getvalue(&sem, &val));
193fbe19a4Smpi 	ASSERT(val == 0);
203fbe19a4Smpi 
213fbe19a4Smpi 	CHECKr(sem_post(&sem));
223fbe19a4Smpi 	CHECKe(sem_getvalue(&sem, &val));
233fbe19a4Smpi 	ASSERT(val == 1);
243fbe19a4Smpi 
253fbe19a4Smpi 	CHECKe(sem_destroy(&sem));
263fbe19a4Smpi 
273fbe19a4Smpi 	SUCCEED;
283fbe19a4Smpi }
29