ttls2.c revision 133066
1133066Sdfr/* $FreeBSD: head/tools/regression/tls/ttls2/ttls2.c 133066 2004-08-03 09:04:01Z dfr $ */ 2133066Sdfr 3133066Sdfr#include <stdio.h> 4133066Sdfr#include <pthread.h> 5133066Sdfr 6133066Sdfrint __thread i; 7133066Sdfr 8133066Sdfrvoid * 9133066Sdfrfoo1(void *arg) 10133066Sdfr{ 11133066Sdfr printf("thread %p, &i = %p\n", pthread_self(), &i); 12133066Sdfr for (i = 0; i < 10; i++) { 13133066Sdfr printf("thread %p, i = %d\n", pthread_self(), i); 14133066Sdfr sleep(1); 15133066Sdfr } 16133066Sdfr} 17133066Sdfr 18133066Sdfrvoid * 19133066Sdfrfoo2(void *arg) 20133066Sdfr{ 21133066Sdfr printf("thread %p, &i = %p\n", pthread_self(), &i); 22133066Sdfr for (i = 10; i > 0; i--) { 23133066Sdfr printf("thread %p, i = %d\n", pthread_self(), i); 24133066Sdfr sleep(1); 25133066Sdfr } 26133066Sdfr} 27133066Sdfr 28133066Sdfrint main(int argc, char** argv) 29133066Sdfr{ 30133066Sdfr pthread_t t1, t2; 31133066Sdfr 32133066Sdfr pthread_create(&t1, 0, foo1, 0); 33133066Sdfr pthread_create(&t2, 0, foo2, 0); 34133066Sdfr pthread_join(t1, 0); 35133066Sdfr pthread_join(t2, 0); 36133066Sdfr} 37