X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fgeneral%2Fsem.c;h=69ec34efbf8492d79203d22ab213e7b6597b789c;hb=d7d3978337745d458ff053c00d4d2fb238fa608e;hp=329164a74eb58d8fe5eee69d86393146c0c8f111;hpb=94aa4819ae1977c8790a5441d08262f1933bb1af;p=libc-test diff --git a/src/general/sem.c b/src/general/sem.c index 329164a..69ec34e 100644 --- a/src/general/sem.c +++ b/src/general/sem.c @@ -27,7 +27,6 @@ int main(void) "reopening should fail with O_EXCL\n"); TEST(errno == EEXIST, "after reopen failure errno is \"%s\" (%d); want EEXIST (%d)\n", strerror(errno), errno, EEXIST); - errno = 0; TEST(sem_getvalue(sem, &val) == 0, "failed to get sem value\n"); TEST(val == 1, "wrong initial semaphore value: %d\n", val); @@ -35,10 +34,15 @@ int main(void) TEST((sem2=sem_open(buf, 0)) == sem, "could not reopen sem: got %p, want %p\n", sem2, sem); + errno = 0; TEST(sem_wait(sem) == 0, "%s\n", strerror(errno)); TEST(sem_getvalue(sem2, &val) == 0, "%s\n", strerror(errno)); TEST(val == 0, "wrong semaphore value on second handle: %d\n", val); + errno = 0; + TEST(sem_trywait(sem) == -1 && errno == EAGAIN, + "trywait on locked sem: got errno \"%s\" (%d), want EAGAIN (%d)\n", strerror(errno), errno, EAGAIN); + TEST(sem_post(sem) == 0, "%s\n", strerror(errno)); TEST(sem_getvalue(sem2, &val) == 0, "%s\n", strerror(errno)); TEST(val == 1, "wrong semaphore value on second handle: %d\n", val);