diff options
Diffstat (limited to 'c/src/exec/posix/src/mutex.c')
-rw-r--r-- | c/src/exec/posix/src/mutex.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/c/src/exec/posix/src/mutex.c b/c/src/exec/posix/src/mutex.c index 51ac6e097c..a3b81da52d 100644 --- a/c/src/exec/posix/src/mutex.c +++ b/c/src/exec/posix/src/mutex.c @@ -151,8 +151,15 @@ int pthread_mutexattr_setpshared( if ( !attr ) return EINVAL; - attr->process_shared = pshared; - return 0; + switch ( pshared ) { + case PTHREAD_PROCESS_SHARED: + case PTHREAD_PROCESS_PRIVATE: + attr->process_shared = pshared; + return 0; + + default: + return EINVAL; + } } /*PAGE @@ -466,8 +473,16 @@ int pthread_mutexattr_setprotocol( if ( !attr ) return EINVAL; - attr->protocol = protocol; - return 0; + switch ( protocol ) { + case PTHREAD_PRIO_NONE: + case PTHREAD_PRIO_INHERIT: + case PTHREAD_PRIO_PROTECT: + attr->protocol = protocol; + return 0; + + default: + return EINVAL; + } } /*PAGE |