1*0e552da7Schristos #include <stdio.h> 2*0e552da7Schristos #include <uv.h> 3*0e552da7Schristos 4*0e552da7Schristos int64_t counter = 0; 5*0e552da7Schristos idle_cb(uv_idle_t * handle)6*0e552da7Schristosvoid idle_cb(uv_idle_t *handle) { 7*0e552da7Schristos printf("Idle callback\n"); 8*0e552da7Schristos counter++; 9*0e552da7Schristos 10*0e552da7Schristos if (counter >= 5) { 11*0e552da7Schristos uv_stop(uv_default_loop()); 12*0e552da7Schristos printf("uv_stop() called\n"); 13*0e552da7Schristos } 14*0e552da7Schristos } 15*0e552da7Schristos prep_cb(uv_prepare_t * handle)16*0e552da7Schristosvoid prep_cb(uv_prepare_t *handle) { 17*0e552da7Schristos printf("Prep callback\n"); 18*0e552da7Schristos } 19*0e552da7Schristos main()20*0e552da7Schristosint main() { 21*0e552da7Schristos uv_idle_t idler; 22*0e552da7Schristos uv_prepare_t prep; 23*0e552da7Schristos 24*0e552da7Schristos uv_idle_init(uv_default_loop(), &idler); 25*0e552da7Schristos uv_idle_start(&idler, idle_cb); 26*0e552da7Schristos 27*0e552da7Schristos uv_prepare_init(uv_default_loop(), &prep); 28*0e552da7Schristos uv_prepare_start(&prep, prep_cb); 29*0e552da7Schristos 30*0e552da7Schristos uv_run(uv_default_loop(), UV_RUN_DEFAULT); 31*0e552da7Schristos 32*0e552da7Schristos return 0; 33*0e552da7Schristos } 34