Expand description
Taking a lock whose holder may have panicked (api.md E15).
A panic while a Mutex is held, or an RwLock is held for writing,
poisons it: std’s way of saying the value may be half-changed. What that
means depends on what the lock guards, so coven takes each lock with the
helper that says it.
lock_unpoisoned: every change made under the lock is whole before anything in it can panic, so a poisoned lock holds a whole value and is used as it is.lock_or_abort: state the whole process shares, which a change can leave half-made. No store’s handle covers it, so the process ends.- coven-database’s
lock_or_fail_handle: one open store’s state, which a change can leave half-made. That store’s handle fails, and every later call on it says so.
Functions§
- into_
unpoisoned - The value of
mutex, whose value no panic can leave half-changed, as it goes. - lock_
or_ abort - Lock
mutex, namedwhat: state the whole process shares. A panic while it was held may have left it half-changed, and nothing narrower than the process can be failed for it, so the process ends. - lock_
unpoisoned - Lock
mutex, whose value no panic can leave half-changed. - read_
unpoisoned - Read
lock, whose value no panic can leave half-changed. - wait_
unpoisoned - Wait on
condvarwithguard, the guard of a lock whose value no panic can leave half-changed. - write_
unpoisoned - Write
lock, whose value no panic can leave half-changed.