|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2027 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 2027.
Report 2027 Actions
Problem Report Number 2027 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0600 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 VSTH version 5.1.2 Test Identification PTHR.os/all/sigwait 2 Problem Summary PG5TH.00008 The test states that it trying to do the following: Block SIGALRM in the main thread and install a signal handler. Create two threads. One thread unblocks SIGALRM, the other thread issues a sigwait() ... Problem Text
The test states that it trying to do the following:
Block SIGALRM in the main thread and install a signal handler. Create two
threads. One thread unblocks SIGALRM, the other thread issues a sigwait()
on SIGALRM. Sent a SIGALRM to the process. Check the number of signals
received and the identity of the receiving thread.
However, we believe that one of the thread deadlocks while the the
second thread does not record that it received the signal causing a
false fail. The following diff shows how we believe the test needs to
be modified in order to work correctly.
*** sigwait.c Thu Apr 30 14:18:53 1998
--- sigwait.c.new Thu Apr 30 14:54:34 1998
***************
*** 403,409 ****
T2_flag = 0;
T2_sig = 0;
T2_nsigs = 0;
- T2_tid = pthread_self();
t2_ssigs( errors, fails );
--- 403,408 ----
***************
*** 477,483 ****
/****** the main thread has SIGALRM blocked
thread 1 is in a sigwait with SIGALRM blocked,
thread 2 is in a pthread_cond_wait() with SIGALRM unblocked
******/
!
rval = kill( getpid(), SIGALRM );
if ( rval != 0 )
{
--- 476,482 ----
/****** the main thread has SIGALRM blocked
thread 1 is in a sigwait with SIGALRM blocked,
thread 2 is in a pthread_cond_wait() with SIGALRM unblocked
******/
! T2_tid = 0;
rval = kill( getpid(), SIGALRM );
if ( rval != 0 )
{
***************
*** 609,614 ****
--- 608,615 ----
{
vsth_surprise("sigwait", 0, rval, &T2_errors);
}
+ T2_nsigs++; /* record that we recieved the signal here */
+ /* if we get cancelled we do not get to increment */
}
elseTest Output
************************************************************************
/tset/PTHR.os/all/sigwait/T.sigwait 2 Failed
Test Description:
Signals generated for the process shall be delivered to exactly one of
the
threads waiting in a sigwait() call for the signal or not blocking the
signal.
Posix Ref: Component SIGWAIT Assertion 9945-1:1996 3.3.8.2, 9945-1:1996
3.3.1.2-2(A)/r$$^PError: format error in archive
/tsuites/VSTH/vsth/MAN/tset/PTHR.os/all/sigwait/L.sigwait_t,
could not extract file
Test Information:
Signals generated for the process shall be delivered to exactly
one of the threads waiting in a sigwait() call for the signal or
not blocking the signal.
Posix Ref: Component SIGWAIT
Assertion 9945-1:1996 3.3.8.2, 9945-1:1996 3.3.1.2-2(A)
The signal was not delivered
Unexpected thread received the signal
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
TSD5TH.00048 has been granted for this problem. We therefore recommend
that this request be refused as a duplicate.
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 2027
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority