diff options
author | marha <marha@users.sourceforge.net> | 2011-07-18 10:51:09 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-07-18 10:51:09 +0200 |
commit | 3c0d2312573b81e3067bea610a58b1940c075e05 (patch) | |
tree | 3f025a27d813374f225957801226aa8ee829a33a /pthreads/tests/semaphore1.c | |
parent | ba033884541714680fd7552ab9d6c8817650f7d8 (diff) | |
parent | 88101146f2ec7d53ffb793e365f05097ffd35fd3 (diff) | |
download | vcxsrv-3c0d2312573b81e3067bea610a58b1940c075e05.tar.gz vcxsrv-3c0d2312573b81e3067bea610a58b1940c075e05.tar.bz2 vcxsrv-3c0d2312573b81e3067bea610a58b1940c075e05.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
X11/Xfuncproto.h.in
X11/configure.ac
X11/keysymdef.h
freetype/include/freetype/internal/pcftypes.h
freetype/src/cache/ftcbasic.c
freetype/src/cache/ftccmap.c
mesalib/src/glsl/ir.h
mesalib/src/glsl/link_functions.cpp
mesalib/src/mesa/main/dlist.c
mesalib/src/mesa/program/prog_optimize.c
mesalib/src/mesa/state_tracker/st_program.c
pthreads/Makefile
Diffstat (limited to 'pthreads/tests/semaphore1.c')
-rw-r--r-- | pthreads/tests/semaphore1.c | 49 |
1 files changed, 19 insertions, 30 deletions
diff --git a/pthreads/tests/semaphore1.c b/pthreads/tests/semaphore1.c index f89a43081..8fc91ee02 100644 --- a/pthreads/tests/semaphore1.c +++ b/pthreads/tests/semaphore1.c @@ -86,8 +86,11 @@ thr(void * arg) if ( result == -1 ) { int err = errno; - printf("thread: sem_trywait 1: expecting error %s: got %s\n", - error_string[EAGAIN], error_string[err]); fflush(stdout); + if (err != EAGAIN) + { + printf("thread: sem_trywait 1: expecting error %s: got %s\n", + error_string[EAGAIN], error_string[err]); fflush(stdout); + } assert(err == EAGAIN); } else @@ -99,18 +102,9 @@ thr(void * arg) assert((result = sem_trywait(&s)) == 0); - if ( result == -1 ) - { - perror("thread: sem_trywait 2"); - } - else - { - printf("thread: ok 2\n"); - } - assert(sem_post(&s) == 0); - return 0; + return NULL; } @@ -119,21 +113,25 @@ main() { pthread_t t; sem_t s; - int result; + void* result1 = (void*)-1; + int result2; assert(pthread_create(&t, NULL, thr, NULL) == 0); - assert(pthread_join(t, (void **)&result) == 0); - assert(result == 0); + assert(pthread_join(t, &result1) == 0); + assert((int)(size_t)result1 == 0); assert(sem_init(&s, PTHREAD_PROCESS_PRIVATE, 0) == 0); - assert((result = sem_trywait(&s)) == -1); + assert((result2 = sem_trywait(&s)) == -1); - if ( result == -1 ) + if (result2 == -1) { int err = errno; - printf("main: sem_trywait 1: expecting error %s: got %s\n", - error_string[EAGAIN], error_string[err]); fflush(stdout); + if (err != EAGAIN) + { + printf("main: sem_trywait 1: expecting error %s: got %s\n", + error_string[EAGAIN], error_string[err]); fflush(stdout); + } assert(err == EAGAIN); } else @@ -141,18 +139,9 @@ main() printf("main: ok 1\n"); } - assert((result = sem_post(&s)) == 0); + assert((result2 = sem_post(&s)) == 0); - assert((result = sem_trywait(&s)) == 0); - - if ( result == -1 ) - { - perror("main: sem_trywait 2"); - } - else - { - printf("main: ok 2\n"); - } + assert((result2 = sem_trywait(&s)) == 0); assert(sem_post(&s) == 0); |