OLD | NEW |
1 /* Copyright (C) 2002, 2003 Free Software Foundation, Inc. | 1 /* Copyright (C) 2002, 2003 Free Software Foundation, Inc. |
2 This file is part of the GNU C Library. | 2 This file is part of the GNU C Library. |
3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. | 3 Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. |
4 | 4 |
5 The GNU C Library is free software; you can redistribute it and/or | 5 The GNU C Library is free software; you can redistribute it and/or |
6 modify it under the terms of the GNU Lesser General Public | 6 modify it under the terms of the GNU Lesser General Public |
7 License as published by the Free Software Foundation; either | 7 License as published by the Free Software Foundation; either |
8 version 2.1 of the License, or (at your option) any later version. | 8 version 2.1 of the License, or (at your option) any later version. |
9 | 9 |
10 The GNU C Library is distributed in the hope that it will be useful, | 10 The GNU C Library is distributed in the hope that it will be useful, |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 Lesser General Public License for more details. | 13 Lesser General Public License for more details. |
14 | 14 |
15 You should have received a copy of the GNU Lesser General Public | 15 You should have received a copy of the GNU Lesser General Public |
16 License along with the GNU C Library; if not, write to the Free | 16 License along with the GNU C Library; if not, write to the Free |
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | 17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
18 02111-1307 USA. */ | 18 02111-1307 USA. */ |
19 | 19 |
20 #include <errno.h> | 20 #include <errno.h> |
21 #include <pthreadP.h> | 21 #include <pthreadP.h> |
22 | 22 |
| 23 |
23 int | 24 int |
24 pthread_condattr_setpshared (attr, pshared) | 25 pthread_condattr_setpshared (attr, pshared) |
25 pthread_condattr_t *attr; | 26 pthread_condattr_t *attr; |
26 int pshared; | 27 int pshared; |
27 { | 28 { |
28 if (pshared != PTHREAD_PROCESS_PRIVATE | 29 switch (pshared) |
29 && __builtin_expect (pshared != PTHREAD_PROCESS_SHARED, 0)) | 30 { |
30 return EINVAL; | 31 case PTHREAD_PROCESS_PRIVATE: /* This is the default state. */ |
| 32 return 0; |
31 | 33 |
32 int *valuep = &((struct pthread_condattr *) attr)->value; | 34 case PTHREAD_PROCESS_SHARED: /* NaCl does not support this. */ |
| 35 return ENOTSUP; |
33 | 36 |
34 *valuep = (*valuep & ~1) | (pshared != PTHREAD_PROCESS_PRIVATE); | 37 default: /* Anything else is bogus. */ |
35 | 38 return EINVAL; |
36 return 0; | 39 } |
37 } | 40 } |
OLD | NEW |