summaryrefslogtreecommitdiff
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
parent67377753a259e327fb690da4f8ed746a8819f22e (diff)
*** empty log message ***
-rw-r--r--Changes5
-rw-r--r--ev.pod10
2 files changed, 10 insertions, 5 deletions
diff --git a/Changes b/Changes
index 4f41ed1..8dc6cd5 100644
--- a/Changes
+++ b/Changes
@@ -4,7 +4,6 @@ TODO: move some other examples to common idioms? combining watchers,
thread usage, coroutine switch?
TODO: frankenpoll
-TODO: frankenports
TODO: allow files and so on
4.03
- support files, /dev/zero etc. the same way as select in the epoll
@@ -15,7 +14,9 @@ TODO: allow files and so on
- new (to become default) EVFLAG_NOSIGMASK flag.
- new EVBACKEND_MASK symbol.
- ports backend: work around solaris bug 6874410 and many related ones
- (EINTR, maybe more), with no performance loss.
+ (EINTR, maybe more), with no performance loss (note that the solaris
+ bug report is actually wrong, reality is far more bizarre and broken
+ than that).
4.01 Fri Nov 5 21:51:29 CET 2010
- automake fucked it up, apparently, --add-missing -f is not quite enough
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>.