| OLD | NEW |
| 1 /* Copyright (C) 2002, 2005 Free Software Foundation, Inc. | 1 /* Copyright (C) 2002, 2005 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 |
| 24 int | 24 int |
| 25 pthread_mutexattr_setpshared (attr, pshared) | 25 pthread_mutexattr_setpshared (attr, pshared) |
| 26 pthread_mutexattr_t *attr; | 26 pthread_mutexattr_t *attr; |
| 27 int pshared; | 27 int pshared; |
| 28 { | 28 { |
| 29 struct pthread_mutexattr *iattr; | 29 switch (pshared) |
| 30 { |
| 31 case PTHREAD_PROCESS_PRIVATE: /* This is the default state. */ |
| 32 return 0; |
| 30 | 33 |
| 31 if (pshared != PTHREAD_PROCESS_PRIVATE | 34 case PTHREAD_PROCESS_SHARED: /* NaCl does not support this. */ |
| 32 && __builtin_expect (pshared != PTHREAD_PROCESS_SHARED, 0)) | 35 return ENOTSUP; |
| 33 return EINVAL; | |
| 34 | 36 |
| 35 iattr = (struct pthread_mutexattr *) attr; | 37 default: /* Anything else is bogus. */ |
| 36 | 38 return EINVAL; |
| 37 if (pshared == PTHREAD_PROCESS_PRIVATE) | 39 } |
| 38 iattr->mutexkind &= ~PTHREAD_MUTEXATTR_FLAG_PSHARED; | |
| 39 else | |
| 40 iattr->mutexkind |= PTHREAD_MUTEXATTR_FLAG_PSHARED; | |
| 41 | |
| 42 return 0; | |
| 43 } | 40 } |
| OLD | NEW |