NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ATTRIBUTES | SEE ALSO
#include <proc_service.h>ps_err_e ps_pstop(struct ps_prochandle *ph);
ps_pstop() stops the target process identified by ph, while ps_pcontinue() allows it to resume.
libthread_db() uses ps_pstop() to freeze the target process while it is under inspection. Within the scope of any single call from outside libthread_db() to a libthread_db() routine, libthread_db() will call ps_pstop(), at most once. If it does, it will call ps_pcontinue() within the scope of the same routine.
The controlling process may already have stopped the target process when it calls libthread_db(). In that case, it is not obligated to resume the target process when libthread_db() calls ps_pcontinue(). In other words, ps_pstop() is mandatory, while ps_pcontinue() is advisory. After ps_pstop(), the target process must be stopped; after ps_pcontinue(), the target process may be running.
ps_lstop() and ps_lcontinue() stop and resume a single lightweight process (LWP) within the target process ph. They are not currently used by libthread_db().
ps_lrolltoaddr() is used to roll an LWP forward out of a critical section when the process is stopped. It is also used to run the libthread_db() agent thread on behalf of libthread(). ps_lrolltoaddr() is always called with the target process stopped, that is, there has been a preceding call to ps_pstop(). The specified LWP must be continued at the address go_addr, or at its current address if go_addr is NULL. It should then be stopped when its execution reaches stop_addr. This routine does not return until the LWP has stopped at stop_addr.
ps_kill() directs the signal signum to the target process for which the handle is ph. ps_kill() has the same semantics as kill(2).
The call completed successfully. In the case of ps_pstop(), the target process is stopped.
For ps_lstop(), ps_lcontinue() and ps_lrolltoaddr(); there is no LWP with id lwipd in the target process.
The function did not return successfully.
See attributes(5) for description of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT Level | Safe |
kill(2), libthread(3THR), libthread_db(3THR), proc_service(3PROC), libthread_db(3LIB), attributes(5)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ATTRIBUTES | SEE ALSO