| Commit message (Collapse) | Author | Age | Lines |
|\
| |
| | |
Introduce read-write-update locks and guards to prevent deadlocks
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This occurs when the user declines an incoming call transfer request,
due to the following path:
- recvd_refer_permission() acquires a read lock over lines_mtx
- move_releasing_lines_to_background() is called
- A write lock over lines_mtx is acquired
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This occurs on reception of an INVITE with a Replaces header, due to the
following path:
- recvd_invite() acquires a read lock on lines_mtx
- recvd_initial_invite() is called
- A write lock over lines_mtx is acquired
|
|\ \
| | |
| | | |
Prevent recursive locking of phone_users_mtx in add_phone_user()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When encountering two users with the same contact name, attempting to
differentiate them using USER_HOST(), a.k.a. get_ip_sip(), would result
in EDEADLK since phone_users_mtx was already locked by add_phone_user().
Closes #88
|
|\ \ \
| | |/
| |/| |
Simple fixes for two deadlocks
|
| |/
| |
| |
| |
| | |
A write lock on `lines_mtx` has already been acquired at the beginning
of `end_call()`.
|
|/ |
|
|
|
|
|
|
| |
Wording copied from https://www.gnu.org/licenses/gpl-howto.en.html
Fixes #25, fixes #71
|
| |
|
| |
|
| |
|
|
|
|
| |
freezing, this commit is probably to blame.
|
|
Check in contents of upstream 1.4.2 tarball, exclude generated files.
|