Skip to main content

NVS_BUSY

Static NVS_BUSY 

Source
static NVS_BUSY: Mutex<Cell<bool>>
Expand description

Set while any NVS operation is in flight.

  • The panic handler skips its durable write when the flag is set (the RTC copy still records the crash) — this both avoids touching a half-used handle and prevents a re-entrant panic from looping on a failing flash.
  • with_nvs bails out when it sees the flag already set, so a task interrupted mid-operation can never be re-entered from interrupt/panic context either.

A critical_section-guarded cell instead of an AtomicBool: xtensa has no compare-and-swap, so AtomicBool::swap does not exist on this target.