Elektra: Plugin: semlock

Elektra 0.8.24

Plugin: semlock

- infos = Information about the semlock plugin is in keys below
- infos/author = Kurt Micheli kurt..nosp@m.mich.nosp@m.eli@l.nosp@m.ibel.nosp@m.ektra.nosp@m..org
- infos/licence = BSD
- infos/needs =
- infos/provides =
- infos/placements = pregetstorage postgetstorage presetstorage postcommit postrollback
- infos/status = global experimental unfinished nodoc concept discouraged -10000
- infos/description = locks files during usage

This global semlock plugin introduces a read lock while `GET` and a read/write lock while `SET`.

A semaphore is used for the synchronization and the implemented algorithm favors the writer, because updates should be propagated soon as possible.

The algorithm is described here.

The usage of this plugin could lead to deadlocks, due to an ongoing discussion (-10000) (Link).

## /dev/shm

Is the location where the semaphores will be saved. `/dev/shm` should be mounted as tempfs, otherwise the semaphores can not be created (this issue only appears on older systems). More information here.