|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1050 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1050.
Report 1050 Actions
Problem Report Number 1050 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0287 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSRT version 5.0.2 Test Identification rt.os/mqueue/mq_receive 4 Problem Summary PG4R.00017 It is not meaningful to use the scheduling policy of process scope threads to determine the order in which they contend for "system scope" semaphores and message queues. Problem Text
This request addresses the following failures:
/tset/rt.os/mqueue/mq_send/T.mq_send 5 Failed
/tset/rt.os/mqueue/mq_receive/T.mq_receive 4 Failed
/tset/rt.os/semaphores/sem_post/T.sem_post 3 Failed
/tset/rt.os/semaphores/sem_post/T.sem_post 5 Failed
These tests are attempting to verify that threads with process scope
contention are scheduled relative to other process scope threads
based upon their priority using inter-process semaphores and message
queues as the blocking mechanism. Because inter-process semaphores
and message queues are inter-process communication objects they have
"system scope".
It is not meaningful to use the scheduling policy of process scope
threads to determine the order in which they contend for "system scope"
semaphores and message queues. The accepted mechanisms for threads
to control their order of execution are intra-process mutexes and
semaphores, read/writer locks, and condition variables. Since the
threads share the same address space within the process, they do not
require inter-process semaphores and messge queues for communicating
data.Test Output
************************************************************************
/tset/rt.os/mqueue/mq_send/T.mq_send 5 Failed
Test Description:
If _POSIX_MESSAGE_PASSING and _POSIX_PRIORITY_SCHEDULING are defined
or the implementation supports the mq_send() function as described in
System Interfaces and Headers, Issue 5:
When more than one thread is waiting to send a message to a message
queue with calls to mq_send() the thread of the highest priority
which has been waiting the longest shall be unblocked to send its
message when space in the queue becomes available.
Test Information:
For SCHED_RR unblocked thread was incorrect, expected thread with priori
ty 10 got 1
For SCHED_FIFO unblocked thread was incorrect, expected thread 1 got 8
mq_open() failed for "/vsrt_mqueue", errno = 24 (EMFILE)
child process timed out
************************************************************************
************************************************************************
/tset/rt.os/mqueue/mq_receive/T.mq_receive 4 Failed
Test Description:
If _POSIX_MESSAGE_PASSING and _POSIX_PRIORITY_SCHEDULING are defined
or the implementation supports the mq_receive() function as described
in System Interfaces and Headers, Issue 5:
When more than one thread is waiting to receive a message to a
message queue with calls to mq_receive() the thread of the highest
priority which has been waiting the longest shall be selected to
receive a message when one arrives.
Test Information:
For SCHED_FIFO unblocked thread was incorrect, expected thread with prio
rity 10 got 8
For SCHED_RR unblocked thread was incorrect, expected thread with priori
ty 10 got 1
mq_open() failed for "/vsrt_mqueue", errno = 24 (EMFILE)
child process timed out
************************************************************************
************************************************************************
/tset/rt.os/semaphores/sem_post/T.sem_post 3 Failed
Test Description:
If _POSIX_SEMAPHORES and _POSIX_PRIORITY_SCHEDULING are defined or
the implementation supports the sem_post() function as described in
System Interfaces and Headers, Issue 5:
On a call to sem_post() when there are threads blocked waiting for
the semaphore sem to become unlocked and the process scheduling
policy is SCHED_FIFO the highest priority waiting thread shall be
unblocked.
Test Information:
For SCHED_FIFO unblocked thread was incorrect, expected thread with prio
rity 10 got 1
************************************************************************
************************************************************************
/tset/rt.os/semaphores/sem_post/T.sem_post 5 Failed
Test Description:
If _POSIX_SEMAPHORES and _POSIX_PRIORITY_SCHEDULING are defined or
the implementation supports the sem_post() function as described in
System Interfaces and Headers, Issue 5:
On a call to sem_post() when there are threads blocked waiting for
the semaphore sem to become unlocked and the process scheduling
policy is SCHED_RR the highest priority waiting thread shall be
unblocked.
Test Information:
For SCHED_RR unblocked thread was incorrect, expected thread with priori
ty 10 got 3
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend this request be refused.
The argument here seems to be that the spec's thread scheduling
requirements in the event of contention over semaphores or message
queues are not meaningful for process scope threads and thus
should not apply.
Despite a thorough review we do not see anything in the spec which
allows this reading.
The requirements of the spec are defined specifically for these resources
and are clear and unambiguous. Contention scope is not given any role
in these requirements, much less that of determining whether the
requirements apply to a thread. Rather, the requirements apply to all
threads without any exceptions provided.
Given the cut and dried nature of the specification we see no wiggle
room possible for a TIN much less a TSD here.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
This request is refused.
Problem Reporting System Options:
- View Report 1050
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority