diff options
author | jhb <jhb@FreeBSD.org> | 2013-07-25 19:34:24 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2013-07-25 19:34:24 +0000 |
commit | 2ee9cbbc0f2eac16f7992f499b44214817eade29 (patch) | |
tree | a2e68961ceb67a673fd9c8b13438f111a55a1cc8 /lib | |
parent | 6a6d8064b3f00884ef1e839c4f21653124c0ca17 (diff) | |
download | FreeBSD-src-2ee9cbbc0f2eac16f7992f499b44214817eade29.zip FreeBSD-src-2ee9cbbc0f2eac16f7992f499b44214817eade29.tar.gz |
Enhance the description of NOTE_TRACK:
- NOTE_TRACK has never triggered a NOTE_TRACK event from the parent pid.
If NOTE_FORK is set, the listener will get a NOTE_FORK event from
the parent pid, but not a separate NOTE_TRACK event.
- Explicitly note that the event added to monitor the child process
preserves the fflags from the original event.
- Move the description of NOTE_TRACKERR under NOTE_TRACK as it is not a
bit for the user to set (which is what this list pupports to be).
Also, explicitly note that if an error occurs, the NOTE_CHILD event
will not be generated.
MFC after: 1 week
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/sys/kqueue.2 | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/libc/sys/kqueue.2 b/lib/libc/sys/kqueue.2 index 6ae7914..ed3a8ad 100644 --- a/lib/libc/sys/kqueue.2 +++ b/lib/libc/sys/kqueue.2 @@ -388,20 +388,25 @@ The process has called .It NOTE_EXEC The process has executed a new process via .Xr execve 2 -or similar call. +or a similar call. .It NOTE_TRACK Follow a process across .Fn fork calls. -The parent process will return with NOTE_TRACK set in the +The parent process registers a new kevent to monitor the child process +using the same .Va fflags -field, while the child process will return with NOTE_CHILD set in +as the original event. +The child process will signal an event with NOTE_CHILD set in .Va fflags and the parent PID in .Va data . -.It NOTE_TRACKERR -This flag is returned if the system was unable to attach an event to -the child process, usually due to resource limitations. +.Pp +If the parent process fails to register a new kevent +.Pq usually due to resource limitations , +it will signal an event with NOTE_TRACKERR set in +.Va fflags , +and the child process will not signal a NOTE_CHILD event. .El .Pp On return, |