PTHREAD_ATTR_GETINHERITSCHED(3)

PTHREAD_ATTR_GETINHERITSCHED(3) | Library Functions Manual | PTHREAD_ATTR_GETINHERITSCHED(3)

# NAME

`pthread_attr_getinheritsched`, `pthread_attr_setinheritsched` —
get and set “inheritsched” attribute

# LIBRARY

POSIX Threads Library (libpthread, -lpthread)

# SYNOPSIS

`#include <pthread.h>`

int
`pthread_attr_getinheritsched`(const pthread_attr_t * restrict attr, int * restrict inheritsched);

int
`pthread_attr_setinheritsched`(pthread_attr_t *attr, int inheritsched);

# DESCRIPTION

The `pthread_attr_getinheritsched`() and `pthread_attr_setinheritsched`() functions get and set, respectively, the inherit scheduler attribute, inheritsched, in the attr object. The inheritsched parameter specifies whether a tread created by using attr will obtain its scheduling attributes directly from attr or whether it will inherit these from the calling thread.

Two values are possible for inheritsched:

`PTHREAD_INHERIT_SCHED`
  The thread scheduling attributes will be inherited from the creating thread and the ones in attr are ignored.
`PTHREAD_EXPLICIT_SCHED`
  The thread scheduling attributes will be set to the corresponding values in attr.

The following thread scheduling attributes are affected by inheritsched:

- Scheduling policy; see pthread_attr_setschedpolicy(3).
- Scheduling parameter; see pthread_attr_getschedparam(3).
- Scheduling contention scope; see pthread_attr_getscope(3).

# RETURN VALUES

If successful, both functions return 0. Otherwise, an error number is returned to indicate the error.

# COMPATIBILITY

The standard leaves it unspecified which (if any) is the default inherit scheduler attribute in a newly initialized attribute object.

# ERRORS

No errors are defined for `pthread_attr_getinheritsched`().

The `pthread_attr_setinheritsched`() function may fail if:

[`EINVAL`]
  The value specified by inheritsched is invalid.

# SEE ALSO

pthread_attr(3)

# STANDARDS

Both functions conform to IEEE Std 1003.1-2008 (“POSIX.1”).

May 10, 2013 | NetBSD 10.1