1 /* Copyright (C) 2002-2022 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3 
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8 
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <https://www.gnu.org/licenses/>.  */
17 
18 #include <errno.h>
19 #include "pthreadP.h"
20 
21 
22 int
__pthread_attr_setscope(pthread_attr_t * attr,int scope)23 __pthread_attr_setscope (pthread_attr_t *attr, int scope)
24 {
25   struct pthread_attr *iattr;
26 
27   iattr = (struct pthread_attr *) attr;
28 
29   /* Catch invalid values.  */
30   switch (scope)
31     {
32     case PTHREAD_SCOPE_SYSTEM:
33       iattr->flags &= ~ATTR_FLAG_SCOPEPROCESS;
34       break;
35 
36     case PTHREAD_SCOPE_PROCESS:
37       return ENOTSUP;
38 
39     default:
40       return EINVAL;
41     }
42 
43   return 0;
44 }
45 strong_alias (__pthread_attr_setscope, pthread_attr_setscope)
46