public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [POSIX][PATCH]pthread_mutex_getprioceiling should return EINVAl when mutex's protocol is PTHREAD_PRIO_NONE.
@ 2010-11-02  9:07 Bian Naimeng
  2010-11-08  9:46 ` Garrett Cooper
  0 siblings, 1 reply; 4+ messages in thread
From: Bian Naimeng @ 2010-11-02  9:07 UTC (permalink / raw)
  To: Garrett Cooper; +Cc: ltp-list

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 <biannm@cn.fujitsu.com>

---
 .../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
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-11-08 11:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-02  9:07 [LTP] [POSIX][PATCH]pthread_mutex_getprioceiling should return EINVAl when mutex's protocol is PTHREAD_PRIO_NONE Bian Naimeng
2010-11-08  9:46 ` Garrett Cooper
2010-11-08 10:55   ` Bian Naimeng
2010-11-08 11:45     ` Garrett Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox