#118 closed defect (fixed)
libc: Incorrect DosSetFHState mask
| Reported by: | bird | Owned by: | bird |
|---|---|---|---|
| Priority: | normal | Milestone: | libc-0.6.2 |
| Component: | libc-backend | Version: | 0.6 |
| Severity: | normal | Keywords: | DosSetFHState close-on-exec |
| Cc: |
Description
We're using the incorrect mask to "turn off non=participating bits" for between DosQueryFHState and DosSetFHState. We're using 0x7F88 just like the example in cpref, but the documentation clearly states that bits 8 thru 11 and bit 3 should be all 0. The correct mask is 0x7080, or OPEN_FLAGS_WRITE_THROUGH | OPEN_FLAGS_FAIL_ON_ERROR | OPEN_FLAGS_NO_CACHE | OPEN_FLAGS_NOINHERIT if you like.
This breaks modifying the close-on-exec flag on file handles which has the locality set. Bit 3 is not used to my knowledge.
Note:
See TracTickets
for help on using tickets.

(In [2794]) Corrected DosSetFHState mask. Fixes #118.