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/cancel2.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/cancel2.c')
-rw-r--r-- | pthreads/tests/cancel2.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/pthreads/tests/cancel2.c b/pthreads/tests/cancel2.c index 6ef2043e2..2ee596abb 100644 --- a/pthreads/tests/cancel2.c +++ b/pthreads/tests/cancel2.c @@ -72,7 +72,10 @@ * - Process returns non-zero exit status. */ -#if defined(_MSC_VER) || defined(__cplusplus) +/* + * Don't know how to identify if we are using SEH so it's only C++ for now + */ +#if defined(__cplusplus) #include "test.h" @@ -80,7 +83,7 @@ * Create NUMTHREADS threads in addition to the Main thread. */ enum { - NUMTHREADS = 1 + NUMTHREADS = 4 }; typedef struct bag_t_ bag_t; @@ -120,7 +123,7 @@ mythread(void * arg) break; } -#if defined(_MSC_VER) && !defined(__cplusplus) +#if !defined(__cplusplus) __try #else try @@ -136,7 +139,7 @@ mythread(void * arg) pthread_testcancel(); } } -#if defined(_MSC_VER) && !defined(__cplusplus) +#if !defined(__cplusplus) __except(EXCEPTION_EXECUTE_HANDLER) #else #if defined(PtW32CatchAll) @@ -157,7 +160,7 @@ mythread(void * arg) */ result += 1000; - return (void *) result; + return (void *) (size_t)result; } int @@ -217,17 +220,17 @@ main() for (i = 1; i <= NUMTHREADS; i++) { int fail = 0; - int result = 0; + void* result = (void*)0; - assert(pthread_join(t[i], (void **) &result) == 0); - fail = (result != (int) PTHREAD_CANCELED); + assert(pthread_join(t[i], &result) == 0); + fail = ((int)(size_t)result != (int) PTHREAD_CANCELED); if (fail) { fprintf(stderr, "Thread %d: started %d: location %d: cancel type %s\n", i, threadbag[i].started, - result, - ((result % 2) == 0) ? "ASYNCHRONOUS" : "DEFERRED"); + (int)(size_t)result, + (((int)(size_t)result % 2) == 0) ? "ASYNCHRONOUS" : "DEFERRED"); } failed |= fail; } @@ -240,12 +243,16 @@ main() return 0; } -#else /* defined(_MSC_VER) || defined(__cplusplus) */ +#else /* defined(__cplusplus) */ + +#include <stdio.h> int main() { + fprintf(stderr, "Test N/A for this compiler environment.\n"); return 0; } -#endif /* defined(_MSC_VER) || defined(__cplusplus) */ +#endif /* defined(__cplusplus) */ + |