mirror of https://github.com/mkerrisk/man-pages
Further work on Q6/A6, plus added some .\" comments for Q1/A1.
This commit is contained in:
parent
146c1764f0
commit
d377b54d0a
19
man7/epoll.7
19
man7/epoll.7
|
@ -247,7 +247,7 @@ set?
|
|||
.B A0
|
||||
The key is the combination of the file descriptor number and
|
||||
the open file description
|
||||
(also known as "open file handle",
|
||||
(also known as an "open file handle",
|
||||
the kernel's internal representation of an open file).
|
||||
.TP
|
||||
.B Q1
|
||||
|
@ -267,7 +267,8 @@ descriptor to the same
|
|||
.B epoll
|
||||
set.
|
||||
.\" But a descriptor duplicated by fork(2) can't be added to the
|
||||
.\" set, which is an ugly inconsistency. On the one hand, a child process
|
||||
.\" set, because the [file *, fd] pair is already in the epoll set.
|
||||
.\" That is a somewhat ugly inconsistency. On the one hand, a child process
|
||||
.\" cannot add the duplicate file descriptor to the epoll set. (In every
|
||||
.\" other case that I can think of, descriptors duplicated by fork have
|
||||
.\" similar semantics to descriptors duplicated by dup() and friends.) On
|
||||
|
@ -276,9 +277,8 @@ set.
|
|||
.\" epoll_wait() in the parent will continue to receive notifications for
|
||||
.\" that descriptor because of the duplicated descriptor in the child.
|
||||
.\"
|
||||
.\" The choice of [file *, fd] as the key for epoll sets really does seem
|
||||
.\" unfortunate. Keying on [pid, fd] would probably have given saner
|
||||
.\" semantics. Obviously it can't be changed now though.
|
||||
.\" See http://thread.gmane.org/gmane.linux.kernel/596462/
|
||||
.\" "epoll design problems with common fork/exec patterns"
|
||||
.\"
|
||||
.\" mtk, Feb 2008
|
||||
This can be a useful technique for filtering events,
|
||||
|
@ -354,12 +354,13 @@ a new file descriptor referring to the same open file description is
|
|||
created.
|
||||
An open file description continues to exist until all
|
||||
file descriptors referring to it have been closed.
|
||||
The
|
||||
.B epoll
|
||||
interface automatically removes a file descriptor from an
|
||||
A file descriptor is removed from an
|
||||
.B epoll
|
||||
set only after all the file descriptors referring to the underlying
|
||||
open file description have been closed.
|
||||
open file description have been closed
|
||||
(or after if the descriptor is explicitly removed using
|
||||
.BR epoll_ctl ()
|
||||
.BR EPOLL_CTL_DEL ).
|
||||
This means that even after a file descriptor that is part of an
|
||||
.B epoll
|
||||
set has been closed,
|
||||
|
|
Loading…
Reference in New Issue