* [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* Re: [LTP] [POSIX][PATCH]pthread_mutex_getprioceiling should return EINVAl when mutex's protocol is PTHREAD_PRIO_NONE.
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
0 siblings, 1 reply; 4+ messages in thread
From: Garrett Cooper @ 2010-11-08 9:46 UTC (permalink / raw)
To: Bian Naimeng; +Cc: ltp-list
On Tue, Nov 2, 2010 at 2:07 AM, Bian Naimeng <biannm@cn.fujitsu.com> wrote:
> 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");
A patch similar to this will be committed soon. The above patch
has several correctness issues with perror (you have to capture the
error and play it back via strerror), and the original test author
accidentally mixed up one of the requirements between
pthread_mutex_getprioceiling and pthread_mutexattr_getprioceiling as
well by accident. This helped unroot a requirements issue on FreeBSD
with PTHREAD_PRIO_INHERIT, and it might so similar on Linux.
Partial credit will be `awarded' for having keen eyes on this
issue though :).
Thanks,
-Garrett
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [LTP] [POSIX][PATCH]pthread_mutex_getprioceiling should return EINVAl when mutex's protocol is PTHREAD_PRIO_NONE.
2010-11-08 9:46 ` Garrett Cooper
@ 2010-11-08 10:55 ` Bian Naimeng
2010-11-08 11:45 ` Garrett Cooper
0 siblings, 1 reply; 4+ messages in thread
From: Bian Naimeng @ 2010-11-08 10:55 UTC (permalink / raw)
To: Garrett Cooper; +Cc: ltp-list
Garrett Cooper wrote:
> On Tue, Nov 2, 2010 at 2:07 AM, Bian Naimeng <biannm@cn.fujitsu.com> wrote:
>> 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;
... snip ...
>> +
>> + /* Get the prioceiling of the mutex. */
>> if(pthread_mutex_getprioceiling(&mutex, &prioceiling) != 0)
>> {
>> printf("Test FAILED: Error obtaining the priority ceiling\n");
>
> A patch similar to this will be committed soon. The above patch
> has several correctness issues with perror (you have to capture the
> error and play it back via strerror), and the original test author
> accidentally mixed up one of the requirements between
> pthread_mutex_getprioceiling and pthread_mutexattr_getprioceiling as
> well by accident. This helped unroot a requirements issue on FreeBSD
> with PTHREAD_PRIO_INHERIT, and it might so similar on Linux.
OK. I think it's better if you can send your patch at this thread. ^_^
> Partial credit will be `awarded' for having keen eyes on this
> issue though :).
Thanks very much. ^_^
> Thanks,
> -Garrett
>
>
--
Regards
Bian Naimeng
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [LTP] [POSIX][PATCH]pthread_mutex_getprioceiling should return EINVAl when mutex's protocol is PTHREAD_PRIO_NONE.
2010-11-08 10:55 ` Bian Naimeng
@ 2010-11-08 11:45 ` Garrett Cooper
0 siblings, 0 replies; 4+ messages in thread
From: Garrett Cooper @ 2010-11-08 11:45 UTC (permalink / raw)
To: Bian Naimeng; +Cc: ltp-list
2010/11/8 Bian Naimeng <biannm@cn.fujitsu.com>:
>
> Garrett Cooper wrote:
>> On Tue, Nov 2, 2010 at 2:07 AM, Bian Naimeng <biannm@cn.fujitsu.com> wrote:
>>> 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;
>
> ... snip ...
>
>
>>> +
>>> + /* Get the prioceiling of the mutex. */
>>> if(pthread_mutex_getprioceiling(&mutex, &prioceiling) != 0)
>>> {
>>> printf("Test FAILED: Error obtaining the priority ceiling\n");
>>
>> A patch similar to this will be committed soon. The above patch
>> has several correctness issues with perror (you have to capture the
>> error and play it back via strerror), and the original test author
>> accidentally mixed up one of the requirements between
>> pthread_mutex_getprioceiling and pthread_mutexattr_getprioceiling as
>> well by accident. This helped unroot a requirements issue on FreeBSD
>> with PTHREAD_PRIO_INHERIT, and it might so similar on Linux.
>
> OK. I think it's better if you can send your patch at this thread. ^_^
http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp.git;a=commit;h=68332a1
>> Partial credit will be `awarded' for having keen eyes on this
>> issue though :).
>
> Thanks very much. ^_^
No problem. Here's the other commit (because I forgot to mention you
in the first one ><):
http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp.git;a=commit;h=17fb758
Cheers!
-Garrett
------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a
Billion" shares his insights and actions to help propel your
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [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