38 lines
		
	
	
		
			741 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			741 B
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #include <errno.h>
 | ||
|  | #include <stdio.h>
 | ||
|  | #include <string.h>
 | ||
|  | #include <pthread.h>
 | ||
|  | #include <unistd.h>
 | ||
|  | 
 | ||
|  | #define usleep rt_thread_sleep
 | ||
|  | 
 | ||
|  | static void *test_thread(void *v_param) { | ||
|  | 	return NULL; | ||
|  | } | ||
|  | 
 | ||
|  | int libc_ex6(void) { | ||
|  | 	unsigned long count; | ||
|  | 
 | ||
|  | 	setvbuf(stdout, NULL, _IONBF, 0); | ||
|  | 
 | ||
|  | 	for (count = 0; count < 2000; ++count) { | ||
|  | 		pthread_t thread; | ||
|  | 		int status; | ||
|  | 
 | ||
|  | 		status = pthread_create(&thread, NULL, test_thread, NULL); | ||
|  | 		if (status != 0) { | ||
|  | 			printf("status = %d, count = %lu: %s\n", status, count, strerror( | ||
|  | 					errno)); | ||
|  | 			return 1; | ||
|  | 		} else { | ||
|  | 			printf("count = %lu\n", count); | ||
|  | 		} | ||
|  | 		/* pthread_detach (thread); */ | ||
|  | 		pthread_join(thread, NULL); | ||
|  | 		usleep(10); | ||
|  | 	} | ||
|  | 	return 0; | ||
|  | } | ||
|  | #include <finsh.h>
 | ||
|  | FINSH_FUNCTION_EXPORT(libc_ex6, example 6 for libc); |