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
This commit is contained in:
John Baldwin 2013-07-25 19:34:24 +00:00
parent 387e754ae5
commit 513bfc4fe2

View File

@ -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,