| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: sem.c,v 1.9 2012/03/08 21:59:32 joerg Exp $ */ | | 1 | /* $NetBSD: sem.c,v 1.10 2012/03/09 14:25:34 joerg Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * Common code for semaphore tests. This can be included both into | | 4 | * Common code for semaphore tests. This can be included both into |
5 | * programs using librt and libpthread. | | 5 | * programs using librt and libpthread. |
6 | */ | | 6 | */ |
7 | | | 7 | |
8 | #include <sys/types.h> | | 8 | #include <sys/types.h> |
9 | | | 9 | |
10 | #include <rump/rump.h> | | 10 | #include <rump/rump.h> |
11 | #include <rump/rump_syscalls.h> | | 11 | #include <rump/rump_syscalls.h> |
12 | | | 12 | |
13 | #include <atf-c.h> | | 13 | #include <atf-c.h> |
14 | #include <errno.h> | | 14 | #include <errno.h> |
| @@ -299,27 +299,26 @@ ATF_TC_HEAD(unlink, tc) | | | @@ -299,27 +299,26 @@ ATF_TC_HEAD(unlink, tc) |
299 | } | | 299 | } |
300 | | | 300 | |
301 | #define SEM "/thesem" | | 301 | #define SEM "/thesem" |
302 | ATF_TC_BODY(unlink, tc) | | 302 | ATF_TC_BODY(unlink, tc) |
303 | { | | 303 | { |
304 | sem_t *sem; | | 304 | sem_t *sem; |
305 | | | 305 | |
306 | rump_init(); | | 306 | rump_init(); |
307 | sem = sem_open(SEM, O_CREAT, 0444, 0); | | 307 | sem = sem_open(SEM, O_CREAT, 0444, 0); |
308 | ATF_REQUIRE(sem); | | 308 | ATF_REQUIRE(sem); |
309 | | | 309 | |
310 | if (sem_unlink(SEM) == -1) | | 310 | if (sem_unlink(SEM) == -1) |
311 | atf_tc_fail_errno("unlink"); | | 311 | atf_tc_fail_errno("unlink"); |
312 | atf_tc_expect_fail("PR kern/43452"); | | | |
313 | if (sem_close(sem) == -1) | | 312 | if (sem_close(sem) == -1) |
314 | atf_tc_fail_errno("close unlinked semaphore"); | | 313 | atf_tc_fail_errno("close unlinked semaphore"); |
315 | } | | 314 | } |
316 | | | 315 | |
317 | /* use rump calls for libpthread _ksem_foo() calls */ | | 316 | /* use rump calls for libpthread _ksem_foo() calls */ |
318 | #define F1(name, a) int _ksem_##name(a); \ | | 317 | #define F1(name, a) int _ksem_##name(a); \ |
319 | int _ksem_##name(a v1) {return rump_sys__ksem_##name(v1);} | | 318 | int _ksem_##name(a v1) {return rump_sys__ksem_##name(v1);} |
320 | #define F2(name, a, b) int _ksem_##name(a, b); \ | | 319 | #define F2(name, a, b) int _ksem_##name(a, b); \ |
321 | int _ksem_##name(a v1, b v2) {return rump_sys__ksem_##name(v1, v2);} | | 320 | int _ksem_##name(a v1, b v2) {return rump_sys__ksem_##name(v1, v2);} |
322 | F2(init, unsigned int, intptr_t *); | | 321 | F2(init, unsigned int, intptr_t *); |
323 | F1(close, intptr_t); | | 322 | F1(close, intptr_t); |
324 | F1(destroy, intptr_t); | | 323 | F1(destroy, intptr_t); |
325 | F1(post, intptr_t); | | 324 | F1(post, intptr_t); |