| 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 |