diff options
author | root <root> | 2011-01-10 14:30:15 +0000 |
---|---|---|
committer | root <root> | 2011-01-10 14:30:15 +0000 |
commit | f32daa3440fff8b6f98d8843a70101ff5b40145c (patch) | |
tree | d5c4115dddf99c4b38008c4c64fbf009a9e3dbfc | |
parent | 67377753a259e327fb690da4f8ed746a8819f22e (diff) |
*** empty log message ***
-rw-r--r-- | Changes | 5 | ||||
-rw-r--r-- | ev.pod | 10 |
2 files changed, 10 insertions, 5 deletions
@@ -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 @@ -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>. |