mergerfs/vendored
Antonio S. Musumeci 8baf274cde Replace two-statement mutex_lockguard macro with single RAII declaration
The old macro expanded to two statements (mutex_lock + DEFER unlock).
In an unbraced if/else only the lock would be conditional while the
DEFER always executed — a latent double-unlock / unbalanced-unlock bug.

Add ScopedMutexLock to both debug and ndebug headers:
 - debug: stores __FILE__/__func__/__LINE__ from the call site and
   passes them to _mutex_lock/_mutex_unlock for diagnostics
 - ndebug: lightweight wrapper around mutex_lock/mutex_unlock

Redefine mutex_lockguard to create a single uniquely-named
ScopedMutexLock variable (via __COUNTER__), making it safe in any
statement context. Remove the now-unused scope_guard include.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:42:24 -04:00
..
acutest Update vendored/acutest to latest master 2026-03-02 01:09:16 -05:00
boost Update vendored/boost to 1.90.0 2026-03-02 01:09:16 -05:00
CLI11 Update vendored/CLI11 to v2.6.2 2026-03-02 01:09:16 -05:00
fmt Move fmtlib to vendored and upgrade to 12.1.0 2026-03-02 01:09:16 -05:00
khash Move 3rd party libraries to "vendored" directory 2026-03-02 01:09:16 -05:00
libfuse Replace two-statement mutex_lockguard macro with single RAII declaration 2026-04-09 21:42:24 -04:00
nonstd Update vendored/nonstd to latest and fix API usage 2026-03-02 01:09:16 -05:00
rapidhash Update vendored/rapidhash to v3 2026-03-02 01:09:16 -05:00
scope_guard Move scope_guard to vendored/ 2026-03-24 21:13:34 -04:00
subprocess Update vendored/subprocess to v2.5 2026-03-02 01:09:16 -05:00