pthread_attr_setscope man page on Hurd

Printed from http://www.polarhome.com/service/man/?qf=pthread_attr_setscope&af=0&tf=2&of=Hurd

PTHREAD_ATTR_SETSCOPE(3)   Linux Programmer's Manual  PTHREAD_ATTR_SETSCOPE(3)

NAME
       pthread_attr_setscope, pthread_attr_getscope - set/get contention scope
       attribute in thread attributes object

SYNOPSIS
       #include <pthread.h>

       int pthread_attr_setscope(pthread_attr_t *attr, int scope);
       int pthread_attr_getscope(pthread_attr_t *attr, int *scope);

       Compile and link with -pthread.

DESCRIPTION
       The  pthread_attr_setscope()  function  sets   the   contention	 scope
       attribute  of  the  thread attributes object referred to by attr to the
       value specified in scope.  The contention scope attribute  defines  the
       set  of	threads	 against which a thread competes for resources such as
       the CPU.	 POSIX.1-2001 specifies two possible values for scope:

       PTHREAD_SCOPE_SYSTEM
	      The thread competes for resources with all other threads in  all
	      processes	 on the system that are in the same scheduling alloca‐
	      tion   domain   (a   group   of	one   or   more	  processors).
	      PTHREAD_SCOPE_SYSTEM  threads  are  scheduled  relative  to  one
	      another according to their scheduling policy and priority.

       PTHREAD_SCOPE_PROCESS
	      The thread competes for resources with all other threads in  the
	      same    process	 that	 were	 also	 created    with   the
	      PTHREAD_SCOPE_PROCESS contention	scope.	 PTHREAD_SCOPE_PROCESS
	      threads  are  scheduled relative to other threads in the process
	      according to their scheduling policy and priority.  POSIX.1-2001
	      leaves  it  unspecified  how  these  threads  contend with other
	      threads in other process on the system or with other threads  in
	      the same process that were created with the PTHREAD_SCOPE_SYSTEM
	      contention scope.

       POSIX.1-2001 requires that an implementation support at	least  one  of
       these  contention scopes.  Linux supports PTHREAD_SCOPE_SYSTEM, but not
       PTHREAD_SCOPE_PROCESS.

       On systems that support multiple contention scopes, then, in order  for
       the  parameter  setting	made by pthread_attr_setscope() to have effect
       when calling pthread_create(3), the caller must	use  pthread_attr_set‐
       inheritsched(3)	 to   set   the	 inherit-scheduler  attribute  of  the
       attributes object attr to PTHREAD_EXPLICIT_SCHED.

       The  pthread_attr_getscope()  function  returns	the  contention	 scope
       attribute  of  the  thread attributes object referred to by attr in the
       buffer pointed to by scope.

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

ERRORS
       pthread_attr_setscope() can fail with the following errors:

       EINVAL An invalid value was specified in scope.

       ENOTSUP
	      scope  specified	the  value PTHREAD_SCOPE_PROCESS, which is not
	      supported on Linux.

CONFORMING TO
       POSIX.1-2001.

NOTES
       The PTHREAD_SCOPE_SYSTEM contention scope typically  indicates  that  a
       user-space  thread  is  bound  directly	to  a single kernel-scheduling
       entity.	This is the case on Linux for the obsolete LinuxThreads imple‐
       mentation  and  the  modern  NPTL  implementation,  which  are both 1:1
       threading implementations.

       POSIX.1-2001 specifies that the default contention scope is implementa‐
       tion-defined.

SEE ALSO
       pthread_attr_init(3), pthread_attr_setaffinity_np(3),
       pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3),
       pthread_attr_setschedpolicy(3), pthread_create(3), pthreads(7)

COLOPHON
       This page is part of release 3.55 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.

Linux				  2013-04-19	      PTHREAD_ATTR_SETSCOPE(3)
[top]

List of man pages available for Hurd

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net