Opened 8 years ago
Last modified 8 years ago
#373 new defect
open is not multiprocess-safe
Reported by: | dmik | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | new |
Component: | libc | Version: | 0.6.6 |
Severity: | normal | Keywords: | |
Cc: |
Description
It turns out that if two open()
calls of the same file happen at the same time in two different kLIBC processes, one of the calls is likely to fail with EACCES
for no apparent reason. I discovered it when running one of LIBCx mmap tests in parallel with other tests, an example is to follow.
Note:
See TracTickets
for help on using tickets.
This commit contains a link to a test case that demonstrates the problem and also contains a workaround which makes the problem go away (not a single failure within 10+ runs): https://github.com/bitwiseworks/libcx/commit/c356c086bf9c58adfffc78ca15822bde97b8018f. A better test case would only have a pure
open
case in some tight loop but no time for it right now.