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