Module Name: src Committed By: hans Date: Thu Jul 29 12:56:16 UTC 2010
Modified Files: src/tests/lib/libpthread: t_join.c Log Message: Revert to 1.1 and fix the casts by using uintptr_t. Ok jruoho. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libpthread/t_join.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/lib/libpthread/t_join.c diff -u src/tests/lib/libpthread/t_join.c:1.3 src/tests/lib/libpthread/t_join.c:1.4 --- src/tests/lib/libpthread/t_join.c:1.3 Thu Jul 29 12:17:31 2010 +++ src/tests/lib/libpthread/t_join.c Thu Jul 29 12:56:16 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: t_join.c,v 1.3 2010/07/29 12:17:31 jruoho Exp $ */ +/* $NetBSD: t_join.c,v 1.4 2010/07/29 12:56:16 hans Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__RCSID("$NetBSD: t_join.c,v 1.3 2010/07/29 12:17:31 jruoho Exp $"); +__RCSID("$NetBSD: t_join.c,v 1.4 2010/07/29 12:56:16 hans Exp $"); #include <errno.h> #include <pthread.h> @@ -64,8 +64,8 @@ { pthread_t thread[25]; pthread_t caller; - void *val; - size_t i; + void *val = NULL; + uintptr_t i; int rv; caller = pthread_self(); @@ -86,7 +86,7 @@ error = true; - rv = pthread_create(&thread[i], NULL, threadfunc2, NULL); + rv = pthread_create(&thread[i], NULL, threadfunc2, (void *)i); ATF_REQUIRE_EQ(rv, 0); @@ -102,9 +102,11 @@ */ PTHREAD_REQUIRE(pthread_join(thread[i], &val)); - ATF_REQUIRE(val == NULL); ATF_REQUIRE_EQ(error, false); + ATF_REQUIRE(val != NULL); + ATF_REQUIRE(val == (void *)(i + 1)); + /* * Once the thread has returned, ESRCH should * again follow if we try to join it again. @@ -129,15 +131,15 @@ static void * threadfunc2(void *arg) { - static int i = 0; - int j; + static uintptr_t i = 0; + uintptr_t j; - j = (int)arg; + j = (uintptr_t)arg; if (i++ == j) error = false; - pthread_exit(NULL); + pthread_exit((void *)i); return NULL; }