Returns the current schedpolicy and schedparam attributes of a thread.
Threads Library (libpthreads.a)
int pthread_setschedparam ( thread, schedpolicy, schedparam)
const struct sched_param *schedparam;
The pthread_setschedparam subroutine dynamically sets the schedpolicy and schedparam attributes of the thread thread. The schedpolicy attribute specifies the scheduling policy of the thread. The schedparam attribute specifies the scheduling parameters of a thread created with this attributes object. The sched_priority field of the sched_param structure contains the priority of the thread. It is an integer value.
If the target thread has system contention scope, the process must have root authority to set the scheduling policy to either SCHED_FIFO or SCHED_RR.
Note: The pthread.h header file must be the first included file of each source file using the threads library. Otherwise, the -D_THREAD_SAFE compilation flag should be used, or the cc_r compiler used. In this case, the flag is automatically set.
|thread||Specifies the target thread.|
|schedpolicy||Points to the schedpolicy attribute to set. It must have one of
the following values:
Note: It is not permitted to change the priority of a thread when setting its scheduling policy to SCHED_OTHER. In this case, the priority is managed directly by the kernel, and the only legal value that can be passed to pthread_setschedparam is DEFAULT_PRIO, which is defined in pthread.h as 1.
|schedparam||Points to where the scheduling parameters to set are stored. The sched_priority field must be in the range from 1 to 127, where 1 is the least favored priority, and 127 the most favored.|
Upon successful completion, 0 is returned. Otherwise, an error code is returned.
The pthread_setschedparam subroutine is unsuccessful if the
following is true:
|EINVAL||The thread or schedparam parameters are not valid.|
|ENOSYS||The priority scheduling POSIX option is not implemented.|
|ENOTSUP||The value of the schedpolicy or schedparam attributes are not supported.|
|EPERM||The target thread has insufficient permission to perform the operation or is already engaged in a mutex protocol.|
|ESRCH||The thread thread does not exist.|
This subroutine is part of the Base Operating System (BOS) Runtime. The implementation of this subroutine is dependent on the priority scheduling POSIX option. The priority scheduling POSIX option is implemented in the operating system.
The pthread_getschedparam (pthread_getschedparam Subroutine) subroutine, pthread_attr_setschedparam (pthread_attr_setschedparam Subroutine) subroutine.
Threads Scheduling in AIX 5L Version 5.1 General Programming Concepts: Writing and Debugging Programs.
Threads Library Options in AIX 5L Version 5.1 General Programming Concepts: Writing and Debugging Programs.
Threads Library Quick Reference in AIX 5L Version 5.1 General Programming Concepts: Writing and Debugging Programs.