diff options
author | Ghanan Gowripalan <ghanan@google.com> | 2020-03-02 13:14:12 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-03-02 13:16:10 -0800 |
commit | 8821a7104f8c8f263b88def1a646d518ec3f5dd2 (patch) | |
tree | 7fd36ac38615c8229ad6ca7b5e3f20f56c5619c6 /pkg/sync/memmove_unsafe.go | |
parent | f03e19d575f644aa394cd86a504148404d748f9f (diff) |
Do not read-lock NIC recursively
A deadlock may occur if a write lock on a RWMutex is blocked between
nested read lock attempts as the inner read lock attempt will be
blocked in this scenario.
Example (T1 and T2 are differnt goroutines):
T1: obtain read-lock
T2: attempt write-lock (blocks)
T1: attempt inner/nested read-lock (blocks)
Here we can see that T1 and T2 are deadlocked.
Tests: Existing tests pass.
PiperOrigin-RevId: 298426678
Diffstat (limited to 'pkg/sync/memmove_unsafe.go')
0 files changed, 0 insertions, 0 deletions