… | |
… | |
8 | |
8 | |
9 | =head2 EXAMPLE PROGRAM |
9 | =head2 EXAMPLE PROGRAM |
10 | |
10 | |
11 | // a single header file is required |
11 | // a single header file is required |
12 | #include <ev.h> |
12 | #include <ev.h> |
|
|
13 | |
|
|
14 | #include <stdio.h> // for puts |
13 | |
15 | |
14 | // every watcher type has its own typedef'd struct |
16 | // every watcher type has its own typedef'd struct |
15 | // with the name ev_TYPE |
17 | // with the name ev_TYPE |
16 | ev_io stdin_watcher; |
18 | ev_io stdin_watcher; |
17 | ev_timer timeout_watcher; |
19 | ev_timer timeout_watcher; |
… | |
… | |
1419 | else |
1421 | else |
1420 | { |
1422 | { |
1421 | // callback was invoked, but there was some activity, re-arm |
1423 | // callback was invoked, but there was some activity, re-arm |
1422 | // the watcher to fire in last_activity + 60, which is |
1424 | // the watcher to fire in last_activity + 60, which is |
1423 | // guaranteed to be in the future, so "again" is positive: |
1425 | // guaranteed to be in the future, so "again" is positive: |
1424 | w->again = timeout - now; |
1426 | w->repeat = timeout - now; |
1425 | ev_timer_again (EV_A_ w); |
1427 | ev_timer_again (EV_A_ w); |
1426 | } |
1428 | } |
1427 | } |
1429 | } |
1428 | |
1430 | |
1429 | To summarise the callback: first calculate the real timeout (defined |
1431 | To summarise the callback: first calculate the real timeout (defined |