EN JA
PTHREAD_ATTR_GET_NP(3)
PTHREAD_ATTR_GET_NP(3) FreeBSD Library Functions Manual PTHREAD_ATTR_GET_NP(3)

NAME

pthread_attr_get_npget attributes of existent thread

LIBRARY

POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS

#include < pthread_np.h>

int
pthread_attr_get_np( pthread_t pid, pthread_attr_t *dst);

DESCRIPTION

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.

IMPLEMENTATION NOTES

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.

RETURN VALUES

If successful, pthread_attr_get_np() function returns 0. Otherwise, an error number is returned to indicate the error.

EXAMPLES

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); 
}

ERRORS

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.

AUTHORS

The pthread_attr_get_np() function and this manual page were written by Alexey Zelkin <phantom@FreeBSD.org>.
January 31, 2003 FreeBSD