]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 5046: FreeBSD lacks open(2) O_DSYNC flag (#623)
authorAmos Jeffries <yadij@users.noreply.github.com>
Tue, 5 May 2020 13:57:24 +0000 (13:57 +0000)
committerAmos Jeffries <yadij@users.noreply.github.com>
Fri, 22 May 2020 10:42:29 +0000 (22:42 +1200)
commit1fba375ee69144379172653607c49408d85a9a86
tree21da31c84ce90b2d84fc29c618f77bed190a8e47
parent014d70252e5fed693d63a155b77104b29c8dbf3a
Bug 5046: FreeBSD lacks open(2) O_DSYNC flag (#623)

ext_session_acl built with TrivialDB uses O_DSYNC to ensure
thread-safe manipulation of data within the TDB files in Squid
multi-process environment.

FreeBSD lacks this flag entirely. Use the O_SYNC flag as a
backup, which apparently provides file-level synchronization.
It is not clear whether this flag will prevent duplicate keys or
record overwrites in the case of process write race collisions.

NP: this appears to be FreeBSD specific. Other BSD either define
O_DSYNC or lack support for these POSIX flags entirely.
src/acl/external/session/ext_session_acl.cc