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);
 |