# Simplex.Messaging.Agent.Lock > TMVar-based named mutex with concurrent multi-lock acquisition. **Source**: [`Agent/Lock.hs`](../../../../../src/Simplex/Messaging/Agent/Lock.hs) No non-obvious behavior. See source. See comment on `getPutLock` for the atomicity argument.