Opened 10 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 )
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 10 years ago by
Priority: | minor → major |
---|
comment:2 Changed 10 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 10 years ago by
comment:4 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 Changed 10 years ago by
Resolution: | fixed |
---|---|
Status: | closed → 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 10 years ago by
Owner: | set to John Small |
---|---|
Status: | reopened → new |
comment:7 Changed 10 years ago by
Status: | new → assigned |
---|
comment:8 Changed 9 years ago by
Milestone: | Release_3.23 → Release_3.24 |
---|
Ticket retargeted after milestone closed
comment:9 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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.