Report 1190 Actions
Problem Report Number |
1190 |
Submitter's Classification |
Minor System Fault |
State |
Resolved |
Resolution |
Rejected (REJ) |
Problem Resolution ID |
REJ.X.0392 |
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.1.0 |
Test Identification |
base/msync 3 |
Problem Summary |
PG4U.00075 This request seeks a MSF for implementations which do not permit msync(MS_INVALIDATE) operations on mmap(MAP_PRIVATE) memory regions. |
Problem Text |
We request a minor system fault for our implementation for this failure. This failure results from our system conformance with the OSF Application Environment Specification for OSF/1. This specification requires that an msync() call with MS_INVALIDATE flag on a region created by using the MAP_PRIVATE flag return -1 with an errno of EINVAL. XPG4 V2 XSH requires that this operation succeed on MAP_PRIVATE regions. We believe that application portability will not be affected by this behavior. It makes little sense for an application to invalidate a private mapping.
|
Test Output |
TEST CASE: msync TEST PURPOSE #3 A successful call to int msync(void *addr, size_t len, int flags) when flags contains the flag MS_INVALIDATE shall invalidate all cached copies of all pages in the range [addr,addr+len] and return 0. PREP: Obtain the system page size by call to sysconf(_SC_PAGESIZE) PREP: Establish signal handlers for SIGSEGV and SIGBUS PREP: Open a file and initialize it PREP: Allocate memory for buffer PREP: Now set proper permissions and re-open file PREP: Find a fixed address for mapping text PREP: Map first section PREP: Map second section PREP: Map third section PREP: Read data from mapped page to be sure it's in memory PREP: After the file is mapped modify it using the file descriptor TEST: msync(adr, len, MS_INVALIDATE) returns 0 ERROR: Call to msync() did not return as expected Expected: 0 Received: -1 3 FAIL
|
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. We believe the spec mandate that msync(,,MS_INVALIDATE) work on memory mapped via mmap(,,,MAP_PRIVATE) calls is more than a minor issue. We believe developers may find it useful to develop applications that invalidate private mappings. One possible reason for this would be to reinitialize a region of memory without unmapping and remapping it. Applications which depended on this functionality would be likely to; abort if the msync return value was properly checked, or execute or dump core in some apparently random manner if the msync return value was not checked.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
This request is refused. XSH is clear in this requirement. The IEEE Standard 1003.1b - 1993 further reinforces the X/Open requirement.
|
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:
|