Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pthread_attr_setinheritsched(3thr) — Ultrix/UWS 4.4 RISC

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pthread_attr_setinheritsched(3thr)

Name

pthread_attr_setinheritsched − Changes the inherit scheduling attribute of the specified thread attributes object. 

Syntax

#include <pthread.h>

int pthread_attr_setinheritsched (attr, inherit)
pthread_attr_t *attr;
int inherit;

Arguments

attr Thread attributes object to be modified. 

inherit New value for the inherit scheduling attribute. Valid values are as follows:

INHERIT_SCHED This is the default value. The created thread inherits the current priority and scheduling policy of the thread calling pthread_create. 
DEFAULT_SCHED The created thread starts execution with the priority and scheduling policy stored in the thread attributes object. 

Description

This routine changes the inherit scheduling attribute of thread creation. The inherit scheduling attribute specifies whether threads created using the specified thread attributes object inherit the scheduling attributes of the creating thread, or use the scheduling attributes stored in the thread attributes object that is passed to pthread_create. 

The first thread in an application that is not created by an explicit call to pthread_create has a scheduling policy of SCHED_OTHER.  See the pthread_attr_setprio and pthread_attr_setsched routines for more information on valid priority values and valid scheduling policy values, respectively. 

Inheriting scheduling attributes (instead of using the scheduling attributes stored in the attributes object) is useful when a thread is creating several helper threads---threads that are intended to work closely with the creating thread to cooperatively solve the same problem. For example, inherited scheduling attributes ensure that helper threads created in a sort routine execute with the same priority as the calling thread. 

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 [ESRCH] The value specified by attr does not refer to an existing thread attributes object. 

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