GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


man:pthread_attr_getinheritsched

PTHREAD_ATTR_SETINHERITSCHELinux Programmer's MPTHREAD_ATTR_SETINHERITSCHED(3)

NAME

     pthread_attr_setinheritsched,  pthread_attr_getinheritsched  -  set/get
     inherit-scheduler attribute in thread attributes object

SYNOPSIS

     #include <pthread.h>
     int pthread_attr_setinheritsched(pthread_attr_t *attr,
                                      int inheritsched);
     int pthread_attr_getinheritsched(const pthread_attr_t *attr,
                                      int *inheritsched);
     Compile and link with -pthread.

DESCRIPTION

     The pthread_attr_setinheritsched() function sets the  inherit-scheduler
     attribute  of  the  thread attributes object referred to by attr to the
     value  specified  in  inheritsched.   The  inherit-scheduler  attribute
     determines  whether a thread created using the thread attributes object
     attr will inherit its scheduling attributes from the calling thread  or
     whether it will take them from attr.
     The  following scheduling attributes are affected by the inherit-sched-
     uler  attribute:  scheduling  policy  (pthread_attr_setschedpolicy(3)),
     scheduling  priority  (pthread_attr_setschedparam(3)),  and  contention
     scope (pthread_attr_setscope(3)).
     The following values may be specified in inheritsched:
     PTHREAD_INHERIT_SCHED
            Threads  that  are  created  using   attr   inherit   scheduling
            attributes  from  the creating thread; the scheduling attributes
            in attr are ignored.
     PTHREAD_EXPLICIT_SCHED
            Threads that  are  created  using  attr  take  their  scheduling
            attributes from the values specified by the attributes object.
     The  default setting of the inherit-scheduler attribute in a newly ini-
     tialized thread attributes object is PTHREAD_INHERIT_SCHED.
     The  pthread_attr_getinheritsched()   returns   the   inherit-scheduler
     attribute of the thread attributes object attr in the buffer pointed to
     by inheritsched.

RETURN VALUE

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

ERRORS

     pthread_attr_setinheritsched() can fail with the following error:
     EINVAL Invalid value in inheritsched.
     POSIX.1  also documents an optional ENOTSUP error ("attempt was made to
     set the attribute to an unsupported value") for  pthread_attr_setinher-
     itsched().

ATTRIBUTES

     For   an   explanation   of   the  terms  used  in  this  section,  see
     attributes(7).
     allbox;  lbw31   lb   lb   l   l   l.    Interface Attribute Value   T{
     pthread_attr_setinheritsched(),          pthread_attr_getinheritsched()
     T}   Thread safety    MT-Safe

CONFORMING TO

     POSIX.1-2001, POSIX.1-2008.

BUGS

     As at glibc 2.8, if a thread attributes  object  is  initialized  using
     pthread_attr_init(3),  then  the  scheduling  policy  of the attributes
     object is set to SCHED_OTHER and the scheduling priority is set  to  0.
     However,   if   the   inherit-scheduler   attribute   is  then  set  to
     PTHREAD_EXPLICIT_SCHED, then  a  thread  created  using  the  attribute
     object  wrongly  inherits  its  scheduling attributes from the creating
     thread.  This bug does not occur if either  the  scheduling  policy  or
     scheduling   priority   attribute  is  explicitly  set  in  the  thread
     attributes object before calling pthread_create(3).

EXAMPLE

     See pthread_setschedparam(3).

SEE ALSO

     pthread_attr_init(3), pthread_attr_setschedparam(3),
     pthread_attr_setschedpolicy(3), pthread_attr_setscope(3),
     pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3),
     pthreads(7), sched(7)

COLOPHON

     This page is part of release 4.16 of the Linux man-pages project.  A
     description of the project, information about reporting bugs, and the
     latest version of this page, can be found at
     https://www.kernel.org/doc/man-pages/.

Linux 2017-09-15 PTHREAD_ATTR_SETINHERITSCHED(3)

/data/webs/external/dokuwiki/data/pages/man/pthread_attr_getinheritsched.txt · Last modified: 2019/05/17 09:32 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki