|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1254 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 1254.
Report 1254 Actions
Problem Report Number 1254 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0456 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Internationalised System Calls and Libraries Extended (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.0.2 Test Identification Base/getcontext 1 Problem Summary PG4U.00009 The test may fail because getcontext sets the uc_link member to 0. Problem Text
Test 1 expects the uc_link field to be set to something other
than 0 just by doing a getcontext(). The spec does not say
that uc_link is set to something by just calling getcontext().
The uc_link field is to be set by the user to the next context
to be run after this context is finished. If no next context has
been set up, it cannot be expected that uc_link would be set to
other than 0. In the discription for setcontext the spec says:
"If the uc_link member of the ucontext_t structure pointed to by
ucp argument is equal to 0, then this context is the main context,
and the process will exit when this context returns."
This implies that 0 is a valid value for uc_link.Test Output
TEST CASE: getcontext
TEST PURPOSE #1
A successful call to int getcontext(ucontext_t *ucp)
shall place a pointer to the context that will be
resumed when the current context returns into the
uc_link member of the ucontext_t pointed to by ucp and
return 0.
TEST: getcontext returns 0
TEST: Base context put into uc_link
PREP: Handle SIGALRM signals
PREP: Handle SIGUSR1 signals
PREP: Handle SIGUSR2 signals
PREP: Start interrupt chain reaction
TEST: getcontext in SIGALRM handler returned 0
TEST: getcontext in SIGALRM set uc_link
ERROR: Base context was set in uc_link
TEST: getcontext in SIGUSR1 handler returned 0
TEST: getcontext in SIGUSR1 set uc_link
ERROR: Base context was set in uc_link
TEST: getcontext in SIGUSR2 handler returned 0
TEST: getcontext in SIGUSR2 set uc_link
ERROR: Base context was set in uc_link
CLEANUP: Reset signal handlers
1 FAILReview 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 getcontext spec states
The getcontext() function initialises the structure pointed to by
ucp to the current user context of the calling process. ...
The getcontext calls in the test are made within signal handlers.
The spec states that
when a signal handler is executed, the current user context is
saved and a new context is created
The new contexts created for signal handlers are not the main
context. Therefore they may not have uc_link == 0.
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 1254
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority