Locking
(G)DBM files and shelves are not protected against concurrent updates!
Multiple readers, single writer usually OK
- simplest approach: only lock when writing
Good filesystem-based locking is hard
- no cross-platform solutions
- unpleasant facts of life:
- processes sometimes die without unlocking
- processes sometimes take longer than expected
- NFS semantics