mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	1. Support detect memory leak by valgrind. 2. Free the http handler entry. 3. Free the stack of ST. --- Co-authored-by: Jacob Su <suzp1984@gmail.com>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			856 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			856 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
| g++ thread-join.cpp ../../objs/st/libst.a -g -O0 -o thread-join && ./thread-join
 | |
| */
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| #include "../../objs/st/st.h"
 | |
| 
 | |
| void* pfn(void* arg) {
 | |
|     printf("pid=%d, coroutine is ok\n", ::getpid());
 | |
|     return NULL;
 | |
| }
 | |
| 
 | |
| int main(int argc, char** argv) {
 | |
|     st_init();
 | |
| 
 | |
|     printf("pid=%d, create coroutine #1\n", ::getpid());
 | |
|     st_thread_t thread = st_thread_create(pfn, NULL, 1, 0);
 | |
|     st_thread_join(thread, NULL);
 | |
| 
 | |
|     st_usleep(100 * 1000);
 | |
| 
 | |
|     printf("pid=%d, create coroutine #2\n", ::getpid());
 | |
|     thread = st_thread_create(pfn, NULL, 1, 0);
 | |
|     st_thread_join(thread, NULL);
 | |
| 
 | |
|     st_usleep(100 * 1000);
 | |
| 
 | |
|     printf("pid=%d, create coroutine #3\n", ::getpid());
 | |
|     thread = st_thread_create(pfn, NULL, 1, 0);
 | |
|     st_thread_join(thread, NULL);
 | |
| 
 | |
|     printf("done\n");
 | |
|     st_thread_exit(NULL);
 | |
|     return 0;
 | |
| }
 | |
| 
 |