summaryrefslogtreecommitdiff
path: root/ev.pod
diff options
context:
space:
mode:
authorroot <root>2010-10-31 20:20:20 +0000
committerroot <root>2010-10-31 20:20:20 +0000
commitf8e3d0d4f02d2d8e21d76f8b6c5183c1136f2e57 (patch)
tree844fedc6ac9a2a28a46969357c74a8fb16ca66c8 /ev.pod
parent84d2ac4060205af81c55bf81ab802cd57ce08c19 (diff)
*** empty log message ***
Diffstat (limited to 'ev.pod')
-rw-r--r--ev.pod5
1 files changed, 3 insertions, 2 deletions
diff --git a/ev.pod b/ev.pod
index 69ab7ae..2f8e4d4 100644
--- a/ev.pod
+++ b/ev.pod
@@ -465,8 +465,9 @@ epoll scales either O(1) or O(active_fds).
The epoll mechanism deserves honorable mention as the most misdesigned
of the more advanced event mechanisms: mere annoyances include silently
dropping file descriptors, requiring a system call per change per file
-descriptor (and unnecessary guessing of parameters), problems with dup and
-so on. The biggest issue is fork races, however - if a program forks then
+descriptor (and unnecessary guessing of parameters), problems with dup,
+returning before the timeout value requiring additional iterations and so
+on. The biggest issue is fork races, however - if a program forks then
I<both> parent and child process have to recreate the epoll set, which can
take considerable time (one syscall per file descriptor) and is of course
hard to detect.