ps_lrolltoaddr man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

PS_PSTOP(3PROC)						       PS_PSTOP(3PROC)

NAME
       ps_pstop, ps_pcontinue, ps_lstop, ps_lcontinue, ps_lrolltoaddr, ps_kill
       - process and LWP control in libthread_db

SYNOPSIS
       #include <proc_service.h>

       ps_err_e ps_pstop(struct ps_prochandle *ph);

       ps_err_e ps_pcontinue(struct ps_prochandle *ph);

       ps_err_e ps_lstop(struct ps_prochandle *ph, lwpid_t lwpid);

       ps_err_e ps_lcontinue(struct ps_prochandle *ph,
	    lwpid_t lwpid);

       ps_err_e ps_lrolltoaddr(struct ps_prochandle *ph,
	    lwpid_t lwpid, psaddr_t go_addr, psaddr_t stop_addr);

       ps_err_e ps_kill(struct ps_prochandle *ph, int signum);

DESCRIPTION
       The ps_pstop() function stops the  target  process  identified  by  ph,
       while the ps_pcontinue() function allows it to resume.

       The  libthread_db()  function  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_pcon‐
       tinue() 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_pcon‐
       tinue(), the target process may be running.

       The ps_lstop() and ps_lcontinue() functions stop and  resume  a	single
       lightweight process (LWP) within the target process ph.

       The  ps_lrolltoaddr()  function 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. The ps_lroll‐
       toaddr() function 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.

       The  ps_kill() function directs the signal signum to the target process
       for which the handle is ph. It has the same semantics as kill(2).

RETURN VALUES
       PS_OK
		     The  call	completed  successfully.  In   the   case   of
		     ps_pstop(), the target process is stopped.

       PS_BADLID
		     For   ps_lstop(),	ps_lcontinue()	and  ps_lrolltoaddr();
		     there is no LWP with id lwipd in the target process.

       PS_ERR
		     The function did not return successfully.

ATTRIBUTES
       See attributes(5) for description of the following attributes:

       ┌───────────────┬─────────────────┐
       │ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
       ├───────────────┼─────────────────┤
       │MT Level       │ Safe		 │
       └───────────────┴─────────────────┘

SEE ALSO
       kill(2), libc_db(3LIB), proc_service(3PROC), attributes(5), threads(5)

				 Mar 22, 2001		       PS_PSTOP(3PROC)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net