]>
git.ipfire.org Git - thirdparty/glibc.git/blob - nptl/tst-sem13.c
6 #include <internaltypes.h>
7 #include <support/check.h>
19 TEST_COMPARE (sem_init (&u
.s
, 0, 0), 0);
21 struct timespec ts
= { 0, 1000000001 }; /* Invalid. */
23 TEST_VERIFY_EXIT (sem_timedwait (&u
.s
, &ts
) < 0);
24 TEST_COMPARE (errno
, EINVAL
);
26 #if __HAVE_64B_ATOMICS
27 unsigned int nwaiters
= (u
.ns
.data
>> SEM_NWAITERS_SHIFT
);
29 unsigned int nwaiters
= u
.ns
.nwaiters
;
31 TEST_COMPARE (nwaiters
, 0);
33 ts
.tv_sec
= /* Invalid. */ -2;
36 TEST_VERIFY_EXIT (sem_timedwait (&u
.s
, &ts
) < 0);
37 TEST_COMPARE (errno
, ETIMEDOUT
);
38 #if __HAVE_64B_ATOMICS
39 nwaiters
= (u
.ns
.data
>> SEM_NWAITERS_SHIFT
);
41 nwaiters
= u
.ns
.nwaiters
;
43 TEST_COMPARE (nwaiters
, 0);
48 #include <support/test-driver.c>