aboutsummaryrefslogtreecommitdiff
path: root/pthreads/tests/semaphore1.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-07-18 10:51:09 +0200
committermarha <marha@users.sourceforge.net>2011-07-18 10:51:09 +0200
commit3c0d2312573b81e3067bea610a58b1940c075e05 (patch)
tree3f025a27d813374f225957801226aa8ee829a33a /pthreads/tests/semaphore1.c
parentba033884541714680fd7552ab9d6c8817650f7d8 (diff)
parent88101146f2ec7d53ffb793e365f05097ffd35fd3 (diff)
downloadvcxsrv-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.c49
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);