Changeset 96348adc in mainline for kernel/test/thread/thread1.c
- Timestamp:
- 2006-12-12T17:24:58Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7e13972
- Parents:
- 34db7fa
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/test/thread/thread1.c
r34db7fa r96348adc 40 40 #define THREADS 5 41 41 42 static atomic_t finish; 43 static atomic_t threads_finished; 44 42 45 static void threadtest(void *data) 43 46 { 44 45 47 thread_detach(THREAD); 46 48 47 while (1) 48 printf("%d\n",(int)(THREAD->tid)); 49 while (atomic_get(&finish)) { 50 printf("%d\n", (int) (THREAD->tid)); 51 thread_usleep(100); 52 } 53 atomic_inc(&threads_finished); 49 54 } 50 55 51 voidtest_thread1(void)56 char * test_thread1(void) 52 57 { 53 thread_t *t; 54 int i; 58 unsigned int i, total = 0; 59 60 atomic_set(&finish, 1); 61 atomic_set(&threads_finished, 0); 55 62 56 for (i=0; i<THREADS; i++) { 57 if (!(t = thread_create(threadtest, NULL, TASK, 0, "threadtest"))) 58 panic("could not create thread\n"); 63 for (i = 0; i < THREADS; i++) { 64 thread_t *t; 65 if (!(t = thread_create(threadtest, NULL, TASK, 0, "threadtest"))) { 66 printf("Could not create thread %d\n", i); 67 break; 68 } 59 69 thread_ready(t); 70 total++; 60 71 } 61 printf("ok\n"); 72 73 printf("Running threads for 10 seconds...\n"); 74 thread_sleep(10); 75 76 atomic_set(&finish, 0); 77 while (atomic_get(&threads_finished) < total) { 78 printf("Threads left: %d\n", total - atomic_get(&threads_finished)); 79 thread_sleep(1); 80 } 81 82 return NULL; 62 83 }
Note:
See TracChangeset
for help on using the changeset viewer.