The default value of the mutex's protocol shall be PTHREAD_PRIO_NONE, so pthread_mutex_getprioceiling should return EINVAL.
Signed-off-by: Bian Naimeng <[email protected]> --- .../interfaces/pthread_mutex_getprioceiling/1-1.c | 30 ++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/testcases/open_posix_testsuite/conformance/interfaces/pthread_mutex_getprioceiling/1-1.c b/testcases/open_posix_testsuite/conformance/interfaces/pthread_mutex_getprioceiling/1-1.c index d9251e6..65c8c6b 100644 --- a/testcases/open_posix_testsuite/conformance/interfaces/pthread_mutex_getprioceiling/1-1.c +++ b/testcases/open_posix_testsuite/conformance/interfaces/pthread_mutex_getprioceiling/1-1.c @@ -18,6 +18,7 @@ #include <pthread.h> #include <stdio.h> #include <sched.h> +#include <errno.h> #include "posixtest.h" int main() @@ -29,6 +30,7 @@ int main() return PTS_UNRESOLVED; #endif */ + pthread_mutexattr_t mattr; pthread_mutex_t mutex; int prioceiling, max_prio, min_prio; @@ -40,6 +42,34 @@ int main() } /* Get the prioceiling of the mutex. */ + if(pthread_mutex_getprioceiling(&mutex, &prioceiling) != EINVAL) + { + printf("Test FAILED: Default, the protocol attribute of mutex " + "is PTHREAD_PRIO_NONE, so pthread_mutex_getprioceiling " + "should return EINVAL\n"); + return PTS_FAIL; + } + + if (pthread_mutexattr_init(&mattr) != 0) + { + perror("Error at pthread_mutexattr_init()\n"); + return PTS_UNRESOLVED; + } + + if (pthread_mutexattr_setprotocol(&mattr, PTHREAD_PRIO_PROTECT) != 0) + { + perror("Error at pthread_mutexattr_setprotocol()\n"); + return PTS_UNRESOLVED; + } + + /* Initialize a mutex object */ + if(pthread_mutex_init(&mutex, &mattr) != 0) + { + perror("Error at pthread_mutex_init()\n"); + return PTS_UNRESOLVED; + } + + /* Get the prioceiling of the mutex. */ if(pthread_mutex_getprioceiling(&mutex, &prioceiling) != 0) { printf("Test FAILED: Error obtaining the priority ceiling\n"); -- 1.7.0.4 -- Regards Bian Naimeng ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
