pthread_attr_init Subroutine

Purpose

Creates a thread attributes object and initializes it with default values.

Library

Threads Library (libpthreads.a)

Syntax

#include <pthread.h>
int pthread_attr_init ( attr)
pthread_attr_t *attr;

Description

The pthread_attr_init subroutine creates a new thread attributes object attr. The new thread attributes object is initialized with the following default values:

Always initialized
Attribute Default value
Detachstate PTHREAD_CREATE_JOINABLE
Contention-scope PTHREAD_SCOPE_SYSTEM the default ensures compatibility with implementations that do not support this POSIX option.
Inheritsched PTHREAD_INHERITSCHED
Schedparam A sched_param structure which sched_prio field is set to 1, the least favored priority.
Schedpolicy SCHED_OTHER
Stacksize PTHREAD_STACK_MIN
Guardsize PAGESIZE

The resulting attribute object (possibly modified by setting individual attribute values), when used by pthread_create, defines the attributes of the thread created. A single attributes object can be used in multiple simultaneous calls to pthread_create.

Parameters

Item Description
attr Specifies the thread attributes object to be created.

Return Values

Upon successful completion, the new thread attributes object is filled with default values and returned via the attr parameter, and 0 is returned. Otherwise, an error code is returned.

Error Codes

The pthread_attr_init subroutine is unsuccessful if the following is true:

Item Description
EINVAL The attr parameter is not valid.
ENOMEM There is not sufficient memory to create the thread attribute object.

This function will not return an error code of [EINTR].