summaryrefslogtreecommitdiff
path: root/main/manager.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2015-09-30 17:28:19 -0500
committerRichard Mudgett <rmudgett@digium.com>2015-10-01 17:28:24 -0500
commit1b80dbeb601defd28433f6aec30e9b991e3bac0a (patch)
tree1d4b85b5a4f8741b98bbd4600e4a04b7b7d0d0a9 /main/manager.c
parent9c1ca287a485f57cfd1d7c0c9b3d262c7fb222aa (diff)
res_sorcery_memory_cache.c: Fix deadlock with scheduler.
A deadlock can happen when a sorcery object is being expired from the memory cache when at the same time another object is being placed into the memory cache. There are a couple other variations on this theme that could cause the deadlock. Basically if an object is being expired from the sorcery memory cache at the same time as another thread tries to update the next object expiration timer the deadlock can happen. * Add a deadlock avoidance loop in expire_objects_from_cache() to check if someone is trying to remove the scheduler callback from the scheduler. ASTERISK-25441 #close Change-Id: Iec7b0bdb81a72b39477727b1535b2539ad0cf4dc
Diffstat (limited to 'main/manager.c')
0 files changed, 0 insertions, 0 deletions