mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-20 15:33:54 +00:00
docs(state): fix _enforce_macos_synchronous_full docstring
synchronous=FULL issues plain fsync(), not F_FULLFSYNC. The F_FULLFSYNC barrier comes from checkpoint_fullfsync=1, set by the separate _apply_macos_checkpoint_barrier(). The original docstring conflated the two PRAGMAs.
This commit is contained in:
parent
9aba95b053
commit
f9c6f92c4b
1 changed files with 4 additions and 2 deletions
|
|
@ -366,8 +366,10 @@ def _enforce_macos_synchronous_full(conn: sqlite3.Connection) -> None:
|
|||
DB with half-written btree pages → ``btreeInitPage error 11``.
|
||||
|
||||
WAL mode's durability guarantee assumes the OS honors fsync barriers;
|
||||
macOS does not unless we explicitly set ``synchronous=FULL`` (which
|
||||
issues ``fsync()`` *and* ``F_FULLFSYNC`` via checkpoint_fullfsync=1).
|
||||
macOS does not unless we explicitly set ``synchronous=FULL``, which issues
|
||||
a real ``fsync()`` on every transaction commit. The ``F_FULLFSYNC``
|
||||
barrier at checkpoint boundaries is handled separately by
|
||||
:func:`_apply_macos_checkpoint_barrier`.
|
||||
|
||||
This function is called after any successful WAL activation (either
|
||||
from ``apply_wal_with_fallback()`` setting a fresh WAL or when probing
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue