System Grab Bag

View all man pages from Linux (or from all projects)

Name

pthread_attr_setschedpolicy, pthread_attr_getschedpolicy - set/get scheduling policy attribute in thread attributes object

Library

POSIX threads library ( libpthread ", " -lpthread )

Synopsis

#include <pthread.h> 
int pthread_attr_setschedpolicy(pthread_attr_t *" attr ", int  policy );
int pthread_attr_getschedpolicy(const pthread_attr_t *restrict attr ,
int *restrict policy );

Description

The pthread_attr_setschedpolicy() function sets the scheduling policy attribute of the thread attributes object referred to by attr to the value specified in policy. This attribute determines the scheduling policy of a thread created using the thread attributes object attr.

The supported values for policy are SCHED_FIFO ,SCHED_RR ,and SCHED_OTHER ,with the semantics described in sched(7).

The pthread_attr_getschedpolicy() returns the scheduling policy attribute of the thread attributes object attr in the buffer pointed to by policy.

In order for the policy setting made by pthread_attr_setschedpolicy() to have effect when calling pthread_create(3), the caller must use pthread_attr_setinheritsched(3) to set the inherit-scheduler attribute of the attributes object attr to PTHREAD_EXPLICIT_SCHED .

Return Value

On success, these functions return 0; on error, they return a nonzero error number.

Errors

pthread_attr_setschedpolicy() can fail with the following error:

EINVAL Invalid value in policy.

POSIX.1 also documents an optional ENOTSUP error ("attempt was made to set the attribute to an unsupported value") for pthread_attr_setschedpolicy()

Attributes

For an explanation of the terms used in this section, see attributes(7). allbox; lbx lb lb T{ pthread_attr_setschedpolicy()pthread_attr_getschedpolicy()
InterfaceAttributeValue
T}Thread safetyMT-Safe

Standards

POSIX.1-2008.

History

glibc 2.0. POSIX.1-2001.

Examples

See pthread_setschedparam(3).

See Also

  1. pthread_attr_init(3),
  2. pthread_attr_setinheritsched(3),
  3. pthread_attr_setschedparam(3),
  4. pthread_create(3),
  5. pthread_setschedparam(3),
  6. pthread_setschedprio(3),
  7. pthreads(7),
  8. sched(7)