Opened 6 years ago

Closed 4 years ago

#522 closed defect (fixed)

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

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

Description (last modified by jbs)

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 jbs

  • Priority changed from minor to major

comment:2 Changed 6 years ago by jbs

  • Description modified (diff)

comment:3 Changed 6 years ago by jbs

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 jbs

  • Resolution set to fixed
  • Status changed from new to closed

comment:5 Changed 6 years ago by stevenhl

  • Resolution fixed deleted
  • Status changed from closed to reopened

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 5 years ago by jbs

  • Owner set to jbs
  • Status changed from reopened to new

comment:7 Changed 5 years ago by jbs

  • Status changed from new to assigned

comment:8 Changed 4 years ago by gyoung

  • Milestone changed from Release_3.23 to Release_3.24

Ticket retargeted after milestone closed

comment:9 Changed 4 years ago by jbs

  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.