JuliaLang/julia

wanted: `open(create=true, exclusive=true)` dead or alive

Open

#33,947 opened on 2019年11月26日

GitHub で見る
 (2 comments) (1 reaction) (0 assignees)Julia (5,773 forks)batch import
featuregood first issue

Repository metrics

Stars
 (48,709 stars)
PR merge metrics
 (平均マージ 20d 6h) (30d で 157 merged PRs)

説明

Sometimes useful, for creating atomic lockfiles (https://github.com/vtjnash/Pidfile.jl) or secure tempfiles: https://github.com/JuliaLang/julia/blob/31bf76f8a1719e07612b9af4196bfc924cf73e21/base/file.jl#L586

The exclusive=true flag (only valid in combination with create=true) should simply map the the underlying O_EXCL option to open (this exists everywhere that Julia runs).

(could also try to add O_NOFOLLOW, though FILE_FLAG_OPEN_REPARSE_POINT is more like O_SYMLINK, and so is hard to implement everywhere. And there's a couple others like RANDOM, SEQUENTIAL, SYNC, DSYNC, NOATIME, DIRECT, and SHORT_LIVED that could even be filtered out when not supported.)

コントリビューターガイド