diff options
author | root <root> | 2007-12-24 13:19:12 +0000 |
---|---|---|
committer | root <root> | 2007-12-24 13:19:12 +0000 |
commit | 3f4e43b3ac9c25ef169d583b881759e2d574681e (patch) | |
tree | 8920bd5fd871a0951e4582fefb2fedad4ec258e6 | |
parent | 924ed22656c1870ba5da6c2c1aa355790072500e (diff) |
*** empty log message ***
-rw-r--r-- | ev.pod | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -985,12 +985,6 @@ fd as you want (as long as you don't confuse yourself). Setting all file descriptors to non-blocking mode is also usually a good idea (but not required if you know what you are doing). -You have to be careful with dup'ed file descriptors, though. Some backends -(the linux epoll backend is a notable example) cannot handle dup'ed file -descriptors correctly if you register interest in two or more fds pointing -to the same underlying file/socket/etc. description (that is, they share -the same underlying "file open"). - If you must do this, then force the use of a known-to-be-good backend (at the time of this writing, this includes only C<EVBACKEND_SELECT> and C<EVBACKEND_POLL>). @@ -1035,8 +1029,8 @@ optimisations to libev. Some backends (e.g. epoll), cannot register events for file descriptors, but only events for the underlying file descriptions. That means when you -have C<dup ()>'ed file descriptors and register events for them, only one -file descriptor might actually receive events. +have C<dup ()>'ed file descriptors or weirder constellations, and register +events for them, only one file descriptor might actually receive events. There is no workaround possible except not registering events for potentially C<dup ()>'ed file descriptors, or to resort to |