|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2483 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 2483.
Report 2483 Actions
Problem Report Number 2483 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.1288 Raised 2005-10-14 18:20 Updated 2005-10-15 14:48 Published 2005-10-15 14:48 Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98) Certification Program The Open Brand certification program Test Suite VSU version 5.2.7 Test Identification CAPI.os/procprim/sigaction 30 Linked Problem Reports 2482 Problem Summary Child process is timed out because busy wait on non-volatile variable is
optimised awayProblem Text The code for this test tries to time out a busy-wait for the SIGCHLD
signal as follows:
SET_ALARM(SLEEP_TIME);
while(!sig_rcvd && !got_sigalrm);
IGNORE_ALARM;
The problem is that got_sigalrm is not declared volatile (whereas
sig_rcvd is). So if a SIGCHLD doesn't arrive, since the test of
got_sigalrm has been optimised away the loop doesn't exit when SIGALRM
arrives.
With got_sigalrm declared volatile in capi.h, the loop times out
correctly and the test reports an Unsupported result as expected.Test Output /tset/CAPI.os/procprim/sigaction/T.sigaction 30 Failed
Test Description:
Base Conditional Conformance
If the implementation generates SIGCHLD when a stopped child has
continued:
After a call to int sigaction(int sig, const struct sigaction
*act, struct sigaction *oact) with SA_SIGINFO set in the
sa_flags
member of the sigaction structure pointed to by act and sig
equal
to SIGCHLD, on entry to the signal catching function
specified by
the sa_sigaction member when the stopped child has continued the
si_code member of the structure pointed to by the siginfo
argument
shall contain CLD_CONTINUED, the si_pid member shall contain the
child process ID, the si_status member shall contain the child's
signal and the si_uid member shall contain the real user ID
of the
process that sent the signal.
Test Information:
PREP: Set up action for SIGCHLD
PREP: fork() a child that stops itself
PREP: Set up action for SIGCHLD
TEST: Send SIGCONT to child
ERROR: Test took longer than 600 seconds: presuming
function is hung and terminating testReview Information
Review Type TSMA Review Start Date 2005-10-14 18:20 Last Updated 2005-10-14 19:22 Completed 2005-10-14 19:22 Status Complete Review Recommendation Test Suite Deficiency (TSD) Review Response This is accepted as a fault in the test suite.
Review Type SA Review Start Date 2005-10-14 18:22 Last Updated 2005-10-15 05:27 Completed 2005-10-15 05:27 Status Complete Review Resolution Test Suite Deficiency (TSD) Review Conclusion This PR is accepted as a test suite deficiency
Problem Reporting System Options:
- View Report 2483
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority