summaryrefslogtreecommitdiffstats
path: root/regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2012-01-04 17:36:40 +0000
committermpi <mpi@openbsd.org>2012-01-04 17:36:40 +0000
commit3fbe19a47e48fbca381ff3c959a0c6669579f479 (patch)
tree4603aac70c66107f347fd615d87419edfcee9097 /regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c
parentDelete some parameter names and extra semicolons that slipped through (diff)
downloadwireguard-openbsd-3fbe19a47e48fbca381ff3c959a0c6669579f479.tar.xz
wireguard-openbsd-3fbe19a47e48fbca381ff3c959a0c6669579f479.zip
Basic semaphore tests
ok guenther@
Diffstat (limited to 'regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c')
-rw-r--r--regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c b/regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c
new file mode 100644
index 00000000000..354f6ac6c44
--- /dev/null
+++ b/regress/lib/libpthread/semaphore/sem_getvalue/sem_getvalue.c
@@ -0,0 +1,27 @@
+/* $OpenBSD: sem_getvalue.c,v 1.1.1.1 2012/01/04 17:36:40 mpi Exp $ */
+/*
+ * Martin Pieuchot <mpi@openbsd.org>, 2011. Public Domain.
+ */
+
+#include <unistd.h>
+#include <semaphore.h>
+#include "test.h"
+
+int
+main(int argc, char **argv)
+{
+ sem_t sem;
+ int val;
+
+ CHECKr(sem_init(&sem, 0, 0));
+ CHECKe(sem_getvalue(&sem, &val));
+ ASSERT(val == 0);
+
+ CHECKr(sem_post(&sem));
+ CHECKe(sem_getvalue(&sem, &val));
+ ASSERT(val == 1);
+
+ CHECKe(sem_destroy(&sem));
+
+ SUCCEED;
+}