libc: Incorrect DosSetFHState mask
|Reported by:||bird||Owned by:||bird|
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.