Opened 6 years ago

Closed 5 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 Changed 6 years ago by John Small

Priority: minormajor

comment:2 Changed 6 years ago by John Small

Description: modified (diff)

comment:3 Changed 6 years ago by John Small

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 Changed 6 years ago by John Small

Resolution: fixed
Status: newclosed

comment:5 Changed 6 years ago by Steven Levine

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 Changed 6 years ago by John Small

Owner: set to John Small
Status: reopenednew

comment:7 Changed 6 years ago by John Small

Status: newassigned

comment:8 Changed 5 years ago by Gregg Young

Milestone: Release_3.23Release_3.24

Ticket retargeted after milestone closed

comment:9 Changed 5 years ago by John Small

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