Opened 11 years ago

Closed 9 years ago

#522 closed defect (fixed)

High memory: Ensure no "highmem-unsafe" functions are called directly.

Reported by: John Small Owned by: John Small
Priority: major Milestone: Release_3.24
Component: fm/2 base Version: 3.21
Keywords: Cc:

Description (last modified by John Small)

Currently there are numerous direct calls to "highmem-unsafe" functions.

If we return to using high memory, we must 1) Make sure we know which functions are "highmem-unsafe". 2) Make sure each of these functions has a wrapper. 3) Replace any direct calls to these functions with calls to the corresponding wrapper function.

Change History (9)

comment:1 by John Small, 11 years ago

Priority: minormajor

comment:2 by John Small, 11 years ago

Description: modified (diff)

comment:3 by John Small, 11 years ago

CS [1749]

Changed direct calls from DosQueryAppType to xDosQueryAppType where the filename may be pointing to high memory and added comments about the need for such a change if changes are made which could change currently-used low memory addresses into high memory addresses.

comment:4 by John Small, 11 years ago

Resolution: fixed
Status: newclosed

comment:5 by Steven Levine, 11 years ago

Resolution: fixed
Status: closedreopened

There is work left to do on this ticket. kLIBC's os2safe.h defines the following APIs as not highmem safe:

DosForceDelete DosQueryHType DosCreatePipe DosQueryNPHState DosWaitNPipe DosSetFilePtr DosSetFilePtrL DosDupHandle DosOpenL DosQueryFHState DosSetDateTime DosStartSession DosQueryAppType WinUpper

We do not yet wrap all calls to these functions. This is not a significant issues at the moment because fm/2 makes limited use of high memory for data. However, in the future OpenWatcom will support placing the heap in high memory and consistent use of the wrappers will be needed.

comment:6 by John Small, 11 years ago

Owner: set to John Small
Status: reopenednew

comment:7 by John Small, 11 years ago

Status: newassigned

comment:8 by Gregg Young, 10 years ago

Milestone: Release_3.23Release_3.24

Ticket retargeted after milestone closed

comment:9 by John Small, 9 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.