| 
 | 
PTHREAD_ATTR_GET_NP(3)
Contents
 | 
 
 
      pthread_attr_get_np -- get attributes of existent thread
      Reentrant C Library (libc_r, -lc_r)
      #include <pthread_np.h>
     int
     pthread_attr_get_np(pthread_t pid, pthread_attr_t *dst);
     The pthread_attr_get_np() function is used to get existent thread's
     attributes.  Most fields of pthread_attr_t structure are exact values of
     attributes provided at thread creation time (as parameter to
     pthread_create(3) function), except for the stack address.
     Value returned as dst is supposed to be used in conjunction with
     pthread_attr_get*() functions to retrieve individual values from
     pthread_attr_t structure.	Parameter dst should point to allocated memory
     area big enough to fit this structure.
     It is HIGHLY RECOMMENDED to use pthread_attr_init(3) function to allocate
     attribute storage.
     The pthread_attr_get_np() function will always return a pointer to the
     thread's real stack address, regardless of its value in the original
     attributes structure.
     size_t
     my_thread_stack_size(pthread_t pid)
     {
	 pthread_attr_t attr;
	 size_t size;
	 pthread_attr_init(&attr);
	 pthread_attr_get_np(pid, &attr);
	 pthread_attr_getstacksize(&attr, &size);
	 pthread_attr_destroy(&attr);
	 return(size);
     }
     If successful, pthread_attr_get_np() function returns 0.  Otherwise, an
     error number is returned to indicate the error.
     The pthread_attr_get_np() function will fail if:
     [EINVAL]		Invalid value for one of given parameters.
     [ESRC]		No thread could be found corresponding to that specified
 by the given thread ID.
     pthread_attr_destroy(3), pthread_attr_getdetachstate(3),
     pthread_attr_getinheritsched(3), pthread_attr_getschedparam(3),
     pthread_attr_getschedpolicy(3), pthread_attr_getscope(3),
     pthread_attr_getstack(3), pthread_attr_getstackaddr(3),
     pthread_attr_getstacksize(3), pthread_attr_init(3)
     The pthread_attr_get_np() function and this manual page were written by
     Alexey Zelkin <phantom@FreeBSD.org>.
FreeBSD 5.2.1		       January 31, 2003 		 FreeBSD 5.2.1 [ Back ] |