ttrace_wait(2)ttrace_wait(2)NAMEttrace_wait - wait for ttrace event
SYNOPSISDESCRIPTION
The system call provides a means to wait for a event to occur. A trac‐
ing process (debugger) will normally invoke after a process or any of
its threads has been set running.
synchronizes tracing requests directed at threads within the traced
process. This mechanism differs from the process-oriented synchroniza‐
tion provided by or (see wait(2)).
The pid argument identifies the process-id of a traced process which
the debugger expects to stop. If pid is a positive value, and lwpid is
zero, then will wait for any thread in the traced process identified by
pid to stop in response to an outstanding ttrace event. The informa‐
tion concerning the thread that hit the event point is available in the
ttstate_t structure (see ttrace(2)).
The lwpid argument identifies the Lightweight Process (LWP) id of a
thread in the traced process pid for which the debugger must wait to
validate request completion. If both pid and lwpid are non-zero val‐
ues, suspends the calling process until the specified LWP in the traced
process stops.
When multiple child processes are simultaneously traced, can be used to
identify the process-id and LWP id of a thread which stopped in
response to any outstanding request established for the group of traced
child processes. This is achieved by invoking with both pid and lwpid
set to 0 (zero).
A zero pid and non-zero lwpid will return an error.
The option argument must specify either or These values control the
synchronizing effect of on the calling process. The value causes to
behave in non-blocking mode and return to the calling process immedi‐
ately whether or not a pre-existing ttrace request completed on behalf
of the tracing process. With suspends the calling process until the
requested pid and/or LWP stop.
As mentioned above, the tsp argument references a ttstate_t structure
(see ttrace(2)) which provides all the needed information regarding the
stopped thread. The size argument specifies the size of the ttstate_t
structure referenced by addr.
RETURN VALUE
If the call succeeds, will return 1 (one) if the event was never waited
for, 0 (zero) otherwise. If the call fails, -1 is returned and is set
to the appropriate value.
ERRORS
The system call fails if one or more of the following is true:
[EINVAL] pid is zero and lwpid is non-zero.
[EINVAL] The option is invalid.
[EINVAL] The lwpid is not controlled by process pid.
[ESRCH] The pid or lwpid do not identify an existing process
(LWP).
[EACCES] The pid does not identify a process debugged by the
invoking process.
[ECHILD] The process (LWP) died while it was waited for.
[EINTR] was interrupted by a signal.
[EFAULT] An invalid address was given for the kernel to write
data into.
AUTHOR
was developed by HP.
SEE ALSOttrace(2), wait(2).
ttrace_wait(2)