diff options
-rw-r--r-- | tools/regression/tls/ttls4/ttls4.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/tools/regression/tls/ttls4/ttls4.c b/tools/regression/tls/ttls4/ttls4.c index 9a1d43b..d55e51b 100644 --- a/tools/regression/tls/ttls4/ttls4.c +++ b/tools/regression/tls/ttls4/ttls4.c @@ -9,21 +9,17 @@ #include <stdio.h> #include <pthread.h> +#include <unistd.h> int __thread n; void *f1(void *arg) { - n = 1; - return (0); -} - -void *f2(void *arg) -{ if (n != 0) { printf("bug, n == %d \n", n); exit(1); } + n = 1; return (0); } @@ -32,11 +28,13 @@ int main() pthread_t td; int i; - pthread_create(&td, NULL, f1, NULL); - pthread_join(td, NULL); for (i = 0; i < 1000; ++i) { - pthread_create(&td, NULL, f2, NULL); - pthread_yield(); + pthread_create(&td, NULL, f1, NULL); + pthread_join(td, NULL); + } + sleep(2); + for (i = 0; i < 1000; ++i) { + pthread_create(&td, NULL, f1, NULL); pthread_join(td, NULL); } return (0); |