# Wrappers Disposable wrappers enabling `using` pattern for synchronization primitives. ## Key Files - **`ReleaseWrapperMutex.cs`** — `IDisposable` wrapper for `Mutex`. Calls `ReleaseMutex()` on dispose. Used via `mutex.UseWaitOne()`. - **`ReleaseWrapperSemaphore.cs`** — `IDisposable` wrapper for `SemaphoreSlim`. Calls `Release()` on dispose. Used via `semaphore.UseWait()` / `UseWaitAsync()`. Both are idempotent (safe to dispose multiple times via `_isDisposed` flag).