xref: /netbsd-src/external/mit/libuv/dist/docs/code/idle-basic/main.c (revision 0e552da7216834a96e91ad098e59272b41087480)
1*0e552da7Schristos #include <stdio.h>
2*0e552da7Schristos #include <uv.h>
3*0e552da7Schristos 
4*0e552da7Schristos int64_t counter = 0;
5*0e552da7Schristos 
wait_for_a_while(uv_idle_t * handle)6*0e552da7Schristos void wait_for_a_while(uv_idle_t* handle) {
7*0e552da7Schristos     counter++;
8*0e552da7Schristos 
9*0e552da7Schristos     if (counter >= 10e6)
10*0e552da7Schristos         uv_idle_stop(handle);
11*0e552da7Schristos }
12*0e552da7Schristos 
main()13*0e552da7Schristos int main() {
14*0e552da7Schristos     uv_idle_t idler;
15*0e552da7Schristos 
16*0e552da7Schristos     uv_idle_init(uv_default_loop(), &idler);
17*0e552da7Schristos     uv_idle_start(&idler, wait_for_a_while);
18*0e552da7Schristos 
19*0e552da7Schristos     printf("Idling...\n");
20*0e552da7Schristos     uv_run(uv_default_loop(), UV_RUN_DEFAULT);
21*0e552da7Schristos 
22*0e552da7Schristos     uv_loop_close(uv_default_loop());
23*0e552da7Schristos     return 0;
24*0e552da7Schristos }
25