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