diff options
author | Frédéric Brière <fbriere@fbriere.net> | 2019-09-29 00:27:52 -0400 |
---|---|---|
committer | Frédéric Brière <fbriere@fbriere.net> | 2019-12-27 02:35:05 -0500 |
commit | 31a25748fccca729e402aca15fca67eb9cc43c03 (patch) | |
tree | a7d19668e0040750316dad4f9d943510941ead9f /src/service.cpp | |
parent | 52fbf19819e911d590da3766898615d6c21027c8 (diff) | |
download | twinkle-31a25748fccca729e402aca15fca67eb9cc43c03.tar twinkle-31a25748fccca729e402aca15fca67eb9cc43c03.tar.gz twinkle-31a25748fccca729e402aca15fca67eb9cc43c03.tar.lz twinkle-31a25748fccca729e402aca15fca67eb9cc43c03.tar.xz twinkle-31a25748fccca729e402aca15fca67eb9cc43c03.zip |
Fix "Transfer with consultation without Replaces" deadlock
This occurs when performing a consult transfer if the target does not
support the Replaces extension, due to the following path:
- refer() acquires a read lock over lines_mtx
- refer_consultation() is called
- A write lock over lines_mtx is acquired
Closes #118
Diffstat (limited to 'src/service.cpp')
0 files changed, 0 insertions, 0 deletions