Custom Query (245 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (76 - 78 of 245)

Ticket Resolution Summary Owner Reporter
#118 fixed libc: Incorrect DosSetFHState mask bird bird
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.

#119 fixed libc: logging stops in fork() child after libc data segment copying bird bird
Description

There are two problems here. First, why do we get a different file handle for the log in the child? Second, we're gambling that the log mutex and file handles match the parent.

The latter problem is solved by reallocating the child handles to match the parent ones very early in the fork process.

The former problem is answered by DosDupHandle() always clearing the non-inherit bit.

#122 fixed libc: open("file", O_RDONLY | O_CREAT, 0666) fails bird bird
Description

On unix (and on OS/2 too actually) this kind of operation will create a 0 byte file and give you a read only handle to it. LIBC refuses any attempts of this kind with a EINVAL.

Note: See TracQuery for help on using queries.