diff options
Diffstat (limited to 'tests/reuse1.c')
-rw-r--r-- | tests/reuse1.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/reuse1.c b/tests/reuse1.c index 2b74955..8e8ca54 100644 --- a/tests/reuse1.c +++ b/tests/reuse1.c @@ -82,7 +82,7 @@ static int washere = 0; void * func(void * arg) { washere = 1; - return (void *) 0; + return arg; } int @@ -107,11 +107,16 @@ main() for (i = 1; i < NUMTHREADS; i++) { washere = 0; - assert(pthread_create(&t, &attr, func, NULL) == 0); + assert(pthread_create(&t, &attr, func, (void *) i) == 0); pthread_join(t, &result); - assert(result == 0); + assert((int) result == i); assert(washere == 1); - assert(t == last_t); + /* thread IDs should be unique */ + assert(!pthread_equal(t, last_t)); + /* thread struct pointers should be the same */ + assert(t.p == last_t.p); + /* thread handle reuse counter should be different by one */ + assert(t.x == last_t.x+1); last_t = t; } |