Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pthread_attr_setprio(3) — OSF/1 1.0 (TIN) MIPS

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pthread_attr_create(3)

pthread_attr_getprio(3)

pthread_attr_setinheritsched(3)

pthread_create(3)

pthread_attr_setprio(3)  —  Subroutines

Digital

NAME

pthread_attr_setprio − Changes the scheduling priority attribute of thread creation. 

SYNOPSIS

#include <pthread.h>
int pthread_attr_setprio(

pthread_attr_t ∗attr ,
int priority );

PARAMETERS

attrThread attributes object modified. 

priorityNew value for the priority attribute. The priority attribute is dependent upon scheduling policy. Valid values fall within one of the following three ranges:

PRI_OTHER_MIN <= priority <= PRI_OTHER_MAX

PRI_FIFO_MIN <= priority <= PRI_FIFO_MAX

PRI_RR_MIN <= priority <= PRI_RR_MAX

The default priority is the midpoint between PRI_OTHER_MIN and PRI_OTHER_MAX. To specify a minimum or maximum priority, use the appropriate symbol — for example, PRI_FIFO_MIN or PRI_FIFO_MAX. To specify a value between the minimum and maximum, use an appropriate arithmetic expression. For example, to specify a priority mid-way between the minimum and maximum for the Round Robin scheduling policy, specify the following concept using your programming language’s syntax:

pri_rr_mid = (PRI_RR_MIN + PRI_RR_MAX)/2

If your expression results in a value outside the range of minimum to maximum, an error results when you attempt to use it. 

DESCRIPTION

This routine sets the execution priority of threads that are created using the attributes object specified by the attr parameter. 

By default, a created thread inherits the priority of the thread calling pthread_create. To specify a priority using this routine, scheduling inheritance must be disabled at the time the thread is created.  Call pthread_attr_setinheritsched and specify the value PTHREAD_DEFAULT_SCHED for the inherit parameter before calling this routine and pthread_create. 

An application specifies priority only to express the urgency of executing the thread relative to other threads. Priority is not used to control mutual exclusion when accessing shared data. With a sufficient number of processors executing, all ready threads, regardless of priority, execute simultaneously. 

RETURN VALUES

If an error condition occurs, this routine returns −1 and sets errno to the corresponding error value. Possible return values are as follows:

Return Error Description
 0 Successful completion.
−1 [EINVAL] The value specified by attr is invalid.
−1 [ERANGE] One or more parameters supplied have an invalid value. 
−1 [ESRCH] The value specified by attr does not refer to an existing thread attributes object. 

RELATED INFORMATION

pthread_attr_create(3), pthread_attr_getprio(3), pthread_attr_setinheritsched(3), pthread_create(3)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026