Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#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.

Change History (2)

comment:1 Changed 8 years ago by bird

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

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

comment:2 Changed 8 years ago by bird

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

Note: See TracTickets for help on using tickets.