pthread_attr_getschedparam (original) (raw)

The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

A newer edition of this document exists here


NAME

pthread_attr_getschedparam, pthread_attr_setschedparam - get and set the schedparam attribute

SYNOPSIS

`[THR] [Option Start] #include <pthread.h>

int pthread_attr_getschedparam(const pthread_attr_t *restrict

attr,
struct sched_param *restrict param);
int pthread_attr_setschedparam(pthread_attr_t *restrict attr,
const struct sched_param *restrict param); [Option End]`

DESCRIPTION

The pthread_attr_getschedparam(), and pthread_attr_setschedparam() functions, respectively, shall get and set the scheduling parameter attributes in the attr argument. The contents of the param structure are defined in the <sched.h> header. For the SCHED_FIFO and SCHED_RR policies, the only required member of_param_ is sched_priority.

[TSP] [Option Start]For the SCHED_SPORADIC policy, the required members of the param structure are sched_priority,sched_ss_low_priority, sched_ss_repl_period, sched_ss_init_budget, and sched_ss_max_repl. The specified_sched_ss_repl_period_ must be greater than or equal to the specified sched_ss_init_budget for the function to succeed; if it is not, then the function shall fail. The value of sched_ss_max_repl shall be within the inclusive range [1, {SS_REPL_MAX}] for the function to succeed; if not, the function shall fail. [Option End]

RETURN VALUE

If successful, the pthread_attr_getschedparam() and pthread_attr_setschedparam() functions shall return zero; otherwise, an error number shall be returned to indicate the error.

ERRORS

The pthread_attr_getschedparam() function may fail if:

[EINVAL]

The value specified by attr does not refer to an initialized thread attribute object.

The pthread_attr_setschedparam() function may fail if:

[EINVAL]

The value of param is not valid, or the value specified by attr does not refer to an initialized thread attribute object.

[ENOTSUP]

An attempt was made to set the attribute to an unsupported value.

These functions shall not return an error code of [EINTR].


The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

After these attributes have been set, a thread can be created with the specified attributes using pthread_create(). Using these routines does not affect the current running thread.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

pthread_attr_destroy(), pthread_attr_getscope(), pthread_attr_getinheritsched(), pthread_attr_getschedpolicy(), pthread_create(), the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>, <sched.h>

CHANGE HISTORY

First released in Issue 5. Included for alignment with the POSIX Threads Extension.

Issue 6

The pthread_attr_getschedparam() and pthread_attr_setschedparam() functions are marked as part of the Threads option.

The SCHED_SPORADIC scheduling policy is added for alignment with IEEE Std 1003.1d-1999.

The restrict keyword is added to the pthread_attr_getschedparam() and pthread_attr_setschedparam() prototypes for alignment with the ISO/IEC 9899:1999 standard.

IEEE Std 1003.1-2001/Cor 2-2004, item XSH/TC2/D6/78 is applied, updating the ERRORS section to include optional errors for the case when attr refers to an uninitialized thread attribute object.

End of informative text.


UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT]