|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2063 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 2063.
Report 2063 Actions
Problem Report Number 2063 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1034 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published 1998-03-05 08:00 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/pthread_cancel 13 Problem Summary TSD5TH.00031 This test is not testing required XPG5 behavior, the code does the following: destructors are set in t13_t1: rval = pthread_key_create( &key1, &t13_d1 ); rval = pthread_key_create( &key2, &t13_d2 ); T... Problem Text
This test is not testing required XPG5 behavior, the code does the
following:
destructors are set in t13_t1:
rval = pthread_key_create( &key1, &t13_d1 );
rval = pthread_key_create( &key2, &t13_d2 );
The destructors are
void
t13_d1( void *arg )
{
if ( T13_cflag == 1 )
++T13_dflag;
}
void
t13_d2( void *arg )
{
if ( T13_cflag == 1 )
++T13_dflag;
}
However, XPG5 XSH on page 629 states the following:
"Upon key creation, the value NULL is associated with the new key in all
active threads. Upon thread creation, the value NULL is associated with all
defined keys in the new thread. An optional destructor function may be
associated with each key value. At thread exit, if a key value has a non-NULL
destructor pointer, and the thread has a non-NULL value associated with
that key, the function pointed to is called with the current associated
value as its sole argument. The order of destructor calls is unspecified
if more than one destructor exists for a thread when it exits. If, after
all the destructors have been called for all non-NULL values with associated
destructors, there are still some non-NULL values with associated destructors,
then the process will be repeated. If, after at least
PTHREAD_DESTRUCTOR_ITERATIONS iterations of destructor calls for outstanding
non-NULL values, there are still some non-NULL values with associated
destructors, implementations may stop calling destructors, or they may
continue calling destructors until no non-NULL values with associated
destructors exist, even though this might result in an infinite loop."
The assertions destructors do not set NULL when called, therefore they
are called PTHREAD_DESTRUCTOR_ITERATIONS (which is 4 on our implementation)
times.Test Output
************************************************************************
/tset/PTHR.os/all/pthread_cancel/T.pthread_cancel 13 Failed
Test Description:
# @(#)pthread_cancel13 1.2
When a cancellation request is acted upon as a result of a call to
the pthread_cancel() function,
then the following actions occur in order:
<PRE>
a) each cancellation cleanup handler registered for the cancelled thread
is called in last-registered, first-called order.
b) each thread-specific data destructor function registered for the
cancelled thread is called in unspecified order.
c) the thread is terminated and a status of PTHREAD_CANCELED is
made available to any threads joining with the canceled thread.
</PRE>
# @(#)pthread_cancel13R 1.1
Posix Ref: Component PTHREAD_CANCEL Assertion 9945-1:1996 18.1.3-13(A)
Test Information:
When a cancellation request is acted upon as a result of a
call to the pthread_cancel() function,
then the following actions occur in order:
a) each cancellation cleanup handler registered for the
cancelled thread is called in last-registered, first-called order.
b) each thread-specific data destructor function registered for
the cancelled thread is called in unspecified order.
c) the thread is terminated and a status of PTHREAD_CANCELED is
made available to any threads joining with the canceled thread.
Posix Ref: Component PTHREAD_CANCEL
Assertion 9945-1:1996 18.1.3-13(A)
T13_dflag, expected 2, got 8
************************************************************************Review Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend that a waiver be granted on the basis of a TSD. This waiver
applies only to implementations which fail when T13_dflag > 2.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion
This is an agreed Test Suite Deficiency.
Problem Reporting System Options:
- View Report 2063
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority