30 lines
		
	
	
		
			610 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			610 B
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #include <stdio.h>
 | ||
|  | 
 | ||
|  | #include <uv.h>
 | ||
|  | 
 | ||
|  | uv_loop_t *loop; | ||
|  | uv_timer_t gc_req; | ||
|  | uv_timer_t fake_job_req; | ||
|  | 
 | ||
|  | void gc(uv_timer_t *handle) { | ||
|  |     fprintf(stderr, "Freeing unused objects\n"); | ||
|  | } | ||
|  | 
 | ||
|  | void fake_job(uv_timer_t *handle) { | ||
|  |     fprintf(stdout, "Fake job done\n"); | ||
|  | } | ||
|  | 
 | ||
|  | int main() { | ||
|  |     loop = uv_default_loop(); | ||
|  | 
 | ||
|  |     uv_timer_init(loop, &gc_req); | ||
|  |     uv_unref((uv_handle_t*) &gc_req); | ||
|  | 
 | ||
|  |     uv_timer_start(&gc_req, gc, 0, 2000); | ||
|  | 
 | ||
|  |     // could actually be a TCP download or something
 | ||
|  |     uv_timer_init(loop, &fake_job_req); | ||
|  |     uv_timer_start(&fake_job_req, fake_job, 9000, 0); | ||
|  |     return uv_run(loop, UV_RUN_DEFAULT); | ||
|  | } |