summaryrefslogtreecommitdiff
path: root/ev.pod
diff options
context:
space:
mode:
authorroot <root>2008-10-01 04:25:25 +0000
committerroot <root>2008-10-01 04:25:25 +0000
commit03ba7182d3e525203cd8535ce154a94242a6f511 (patch)
treec2da22108976f524657e0885a88a19bc034a6617 /ev.pod
parentc53135daec2ac56c937fc5d516031ecbaebdb956 (diff)
*** empty log message ***
Diffstat (limited to 'ev.pod')
-rw-r--r--ev.pod15
1 files changed, 9 insertions, 6 deletions
diff --git a/ev.pod b/ev.pod
index a3b3467..f6b466f 100644
--- a/ev.pod
+++ b/ev.pod
@@ -2515,20 +2515,23 @@ the given C<fd> and C<events> set will be created and started.
If C<timeout> is less than 0, then no timeout watcher will be
started. Otherwise an C<ev_timer> watcher with after = C<timeout> (and
-repeat = 0) will be started. While C<0> is a valid timeout, it is of
-dubious value.
+repeat = 0) will be started. C<0> is a valid timeout.
The callback has the type C<void (*cb)(int revents, void *arg)> and gets
passed an C<revents> set like normal event callbacks (a combination of
C<EV_ERROR>, C<EV_READ>, C<EV_WRITE> or C<EV_TIMEOUT>) and the C<arg>
-value passed to C<ev_once>:
+value passed to C<ev_once>. Note that it is possible to receive I<both>
+a timeout and an io event at the same time - you probably should give io
+events precedence.
+
+Example: wait up to ten seconds for data to appear on STDIN_FILENO.
static void stdin_ready (int revents, void *arg)
{
- if (revents & EV_TIMEOUT)
- /* doh, nothing entered */;
- else if (revents & EV_READ)
+ if (revents & EV_READ)
/* stdin might have data for us, joy! */;
+ else if (revents & EV_TIMEOUT)
+ /* doh, nothing entered */;
}
ev_once (STDIN_FILENO, EV_READ, 10., stdin_ready, 0);