PTHREAD_ATTR_GET_NP(3)

NAME
pthread_attr_get_np, pthread_getattr_np - get attributes of existing thread

LIBRARY
libpthread

SYNOPSIS
#include <pthread.h>
#include <pthread_np.h>
int
pthread_attr_get_np(pthread_t thread, pthread_attr_t *attr);
int
pthread_getattr_np(pthread_t thread, pthread_attr_t *attr);

DESCRIPTION
The pthread_attr_get_np() and pthread_getattr_np() functions can be used to retrieve attributes of a running thread. 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 attr is supposed to be used in conjunction with pthread_attr_get*() functions to retrieve individual values from pthread_attr_t structure. Parameter attr 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. pthread_getattr_np() does this automatically.

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() and pthread_getattr_np() return 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.

SEE ALSO
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)

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