diff options
author | Frédéric Brière <fbriere@fbriere.net> | 2019-09-29 00:20:23 -0400 |
---|---|---|
committer | Frédéric Brière <fbriere@fbriere.net> | 2019-12-27 02:28:12 -0500 |
commit | 52fbf19819e911d590da3766898615d6c21027c8 (patch) | |
tree | b9523b0f1e86d4410a94886928c3fe1d44706d74 /src/sockets/connection_table.cpp | |
parent | 21ad823ba038f28a58f0f660cc7ebe902dd459b8 (diff) | |
download | twinkle-52fbf19819e911d590da3766898615d6c21027c8.tar twinkle-52fbf19819e911d590da3766898615d6c21027c8.tar.gz twinkle-52fbf19819e911d590da3766898615d6c21027c8.tar.lz twinkle-52fbf19819e911d590da3766898615d6c21027c8.tar.xz twinkle-52fbf19819e911d590da3766898615d6c21027c8.zip |
Fix "NOTIFY received when line is idle" deadlock
This can easily be triggered by starting a blind transfer, and hanging
up before the other end has accepted/rejected it, due to the following
path:
- recvd_notify() acquires a read lock on lines_mtx
- cleanup_dead_lines() is called
- A write lock on lines_mtx is acquired
Diffstat (limited to 'src/sockets/connection_table.cpp')
0 files changed, 0 insertions, 0 deletions