summaryrefslogtreecommitdiff
path: root/ev.pod
diff options
context:
space:
mode:
authorroot <root>2011-01-10 14:30:15 +0000
committerroot <root>2011-01-10 14:30:15 +0000
commitf32daa3440fff8b6f98d8843a70101ff5b40145c (patch)
treed5c4115dddf99c4b38008c4c64fbf009a9e3dbfc /ev.pod
parent67377753a259e327fb690da4f8ed746a8819f22e (diff)
*** empty log message ***
Diffstat (limited to 'ev.pod')
-rw-r--r--ev.pod10
1 files changed, 7 insertions, 3 deletions
diff --git a/ev.pod b/ev.pod
index 79e49d8..5707b51 100644
--- a/ev.pod
+++ b/ev.pod
@@ -594,11 +594,15 @@ specification in all tests and is fully embeddable, which is a rare feat
among the OS-specific backends (I vastly prefer correctness over speed
hacks).
-On the negative side, the interface is I<bizarre>, with the event polling
+On the negative side, the interface is I<bizarre> - so bizarre that
+even sun itself gets it wrong in their code examples: The event polling
function sometimes returning events to the caller even though an error
occured, but with no indication whether it has done so or not (yes, it's
-even documented that way) - deadly for edge-triggered interfaces, but
-fortunately libev seems to be able to work around it.
+even documented that way) - deadly for edge-triggered interfaces where
+you absolutely have to know whether an event occured or not because you
+have to re-arm the watcher.
+
+Fortunately libev seems to be able to work around these idiocies.
This backend maps C<EV_READ> and C<EV_WRITE> in the same way as
C<EVBACKEND_POLL>.