td_thr_get_info man page on SunOS

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

td_thr_get_info(3C_DB)Threads Debugging Library Functiontd_thr_get_info(3C_DB)

NAME
       td_thr_get_info	-  get thread information in libc_db library of inter‐
       faces

SYNOPSIS
       cc [ flag... ] file... -lc_db [ library... ]
       #include <proc_service.h>
       #include <thread_db.h>

       td_err_e	 td_thr_get_info(const	td_thrhandle_t	 *th_p,	  td_thrinfo_t
       *ti_p);

DESCRIPTION
       The  td_thr_get_info()  function	 fills	in  the td_thrinfo_t structure
       *ti_p with values for the thread identified by  th_p.

       The td_thrinfo_t structure contains the following fields:

       typedef struct td_thrinfo_t {
	 td_thragen_tx	  *ti_ta_p	     /* internal process handle */
	 unsigned	  ti_user_flags;     /* value of flags parameter */
	 thread_t	  ti_tid;	     /* thread identifier */
	 char		  *ti_tls;	     /* pointer to thread-local storage*/
	 paddr		  ti_startfunc;	     /* address of function at which thread
						execution began*/
	 paddr		  ti_stkbase;	     /* base of thread's stack area*/
	 int		  ti_stksize;	     /* size in bytes of thread's allocated
						stack region*/
	 paddr		  ti_ro_area;	     /* address of ulwp_t structure*/
	 int		  ti_ro_size	     /* size of the ulwp_t structure in
						bytes */
	 td_thr_state_e	  ti_state	     /* state of the thread */
	 uchar_t	  ti_db_suspended    /* non-zero if thread suspended by
						td_thr_dbsuspend*/
	 td_thr_type_e	  ti_type	     /* type of the thread*/
	 int		  ti_pc		     /* value of thread's program counter*/
	 int		  ti_sp		     /* value of thread's stack counter*/
	 short		  ti_flags	     /* set of special flags used by
						libc*/
	 int		  ti_pri	     /* priority of thread returned by
						thr_getprio(3T)*/
	 lwpid_t	  ti_lid	     /* id of light weight process (LWP)
						executing this thread*/
	 sigset_t	  ti_sigmask	     /* thread's signal mask.  See
						thr_sigsetmask(3T)*/
	 u_char		  ti_traceme	     /* non-zero if event tracing is on*/
	 u_char_t	  ti_preemptflag     /* non-zero if thread preempted when
						last active*/
	 u_char_t	  ti_pirecflag	    /* non-zero if thread runs priority
					       beside regular */
	 sigset_t	  ti_pending	    /* set of signals pending for this
					       thread*/
	 td_thr_events_t  ti_events	    /* bitmap of events enabled for this
					       thread*/
       } ;

       The ti_ta_p member is  the  internal  process  handle  identifying  the
       process of which the thread is a member.

       The  ti_user_flags member is the value of the flags parameter passed to
       thr_create(3C) when the thread was created.

       The ti_tid member is the thread identifier for the thread  returned  by
       thr_create(3C).

       The ti_tls member is the thread's pointer to thread-local storage.

       The  ti_startfunc member is the address of the function at which thread
       execution began, as specified when the thread was created with thr_cre‐
       ate(3C).

       The ti_stkbase member is the base of the thread's stack area.

       The  ti_stksize	member	is the size in bytes of the thread's allocated
       stack region.

       The ti_ro_area member is the address of the ulwp_t structure  for  this
       thread.	 Since	accessing  the	ulwp_t structure directly violates the
       encapsulation provided by libc_db, this member should generally not  be
       used.  However, it might be useful as a prototype for extensions.

       The  ti_state  member  is  the state of the thread.  The td_thr_state_e
       enumeration type can contain the following values:

       TD_THR_ANY_STATE		       This  value  is	 never	 returned   by
				       td_thr_get_info()  but  is  used	 as  a
				       wildcard	  to   select	 threads    in
				       td_ta_thr_iter().

       TD_THR_UNKNOWN		       The  libc_db  library  cannot determine
				       the state of the thread.

       TD_THR_STOPPED		       The thread has been stopped by  a  call
				       to  thr_suspend(3C).

       TD_THR_RUN		       The  thread  is runnable, but it is not
				       currently assigned to an LWP.

       TD_THR_ACTIVE		       The thread is currently executing on an
				       LWP.

       TD_THR_ZOMBIE		       The  thread  has exited, but it has not
				       yet  been  deallocated  by  a  call  to
				       thr_join(3C).

       TD_THR_SLEEP		       The thread is not currently runnable.

       TD_THR_STOPPED_ASLEEP	       The   thread   is   both	  blocked   by
				       TD_THR_SLEEP and stopped by a  call  to
				       td_thr_dbsuspend(3C_DB).

       The  ti_db_suspended  member  is non-zero if and only if this thread is
       currently  suspended  because  the  controlling	process	  has	called
       td_thr_dbsuspend on it.

       The ti_type member is a type of thread.	It is either TD_THR_USER for a
       user thread (one created by the application), or TD_THR_SYSTEM for  one
       created by libc.

       The ti_pc member is the value of the thread's program counter, provided
       that the thread's ti_state value is  TD_THR_SLEEP,  TD_THR_STOPPED,  or
       TD_THR_STOPPED_ASLEEP.  Otherwise,  the	value  of this member is unde‐
       fined.

       The ti_sp member is the value of the thread's stack  pointer,  provided
       that  the  thread's  ti_state value is TD_THR_SLEEP, TD_THR_STOPPED, or
       TD_THR_STOPPED_ASLEEP. Otherwise, the value of  this  member  is	 unde‐
       fined.

       The  ti_flags  member is a set of special flags used by libc, currently
       of use only to those debugging libc.

       The ti_pri member is the thread's priority as it would be  returned  by
       thr_getprio(3C).

       The ti_lid member is the ID of the LWP executing this thread, or the ID
       of the  LWP that last executed this thread, if this thread is not  cur‐
       rently assigned to anLWP.

       The  ti_sigmask	member	is  this thread's signal mask. See thr_sigset‐
       mask(3C).

       The ti_traceme member is non-zero if and only if event tracing for this
       thread is on.

       The  ti_preemptflag  member  is	non-zero if and only if the thread was
       preempted the last time it was active.

       The ti_pirecflag member is non-zero if and  only	 if  due  to  priority
       inheritance  the	 thread	 is currently running at a priority other than
       its regular priority.

       The ti_events member is the bitmap of events enabled for this thread.

RETURN VALUES
       TD_OK	       The call completed successfully.

       TD_BADTH	       An invalid thread handle was passed in.

       TD_DBERR	       A call  to  one	of  the	 imported  interface  routines
		       failed.

       TD_ERR	       The call did not complete successfully.

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

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

SEE ALSO
       libc_db(3LIB), td_ta_thr_iter(3C_DB), td_thr_dbsuspend(3C_DB), thr_cre‐
       ate(3C), thr_getprio(3C),  thr_join(3C),	 thr_sigsetmask(3C),  thr_sus‐
       pend(3C), attributes(5), threads(5)

SunOS 5.10			  20 Oct 1998		td_thr_get_info(3C_DB)
[top]

List of man pages available for SunOS

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