The background daemon's lock can live in a storage backend instead of a file on disk.
Read, acquire, delete and status all accept a v5 storage backend for the daemon lock; it only applies if a caller supplies one.
What's wrong with this entry?
The daemon lock can be read, acquired and deleted through the v5 storage backend rather than a file, when a backend handle is passed in.
- the read, acquire and delete helpers and the status query all take an optional storage backend argument
- the lock is a
daemon-lockstate entry written with an ifAbsent precondition, with dedicated error messages and a size cap that clears a too-large lock - read failures with ENXIO, EFBIG, ELOOP or ENAMETOOLONG delete the lock rather than throwing
- the status command and the version-mismatch check now pass the handle through; whether a backend is actually supplied depends on the caller
- none of the v5 lock strings exist in the previous build
[DaemonLock] v5 lock read failed
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.227
Daemon lock recovers when the lock path is not a regular file
Both mention daemon
-
v2.1.227
Daemon config reads refuse odd or oversized files
Both mention daemon
-
v2.1.227
Daemon records how long a claimed session waited
Both mention daemon