From cdd084adee31f8918ed447ecb58876c173801d57 Mon Sep 17 00:00:00 2001 From: yagoda Date: Wed, 12 Apr 2023 21:50:35 +0200 Subject: [PATCH] eMBMS,rlc: fixing deadlock by switching from write lock to read lock --- srsenb/src/stack/mac/mac.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srsenb/src/stack/mac/mac.cc b/srsenb/src/stack/mac/mac.cc index c11aa7bc2..1be0ab51f 100644 --- a/srsenb/src/stack/mac/mac.cc +++ b/srsenb/src/stack/mac/mac.cc @@ -133,11 +133,11 @@ int mac::rlc_buffer_state(uint16_t rnti, uint32_t lc_id, uint32_t tx_queue, uint int ret = -1; if (check_ue_active(rnti)) { if (rnti != SRSRAN_MRNTI) { - srsran::rwlock_write_guard lock(rwlock); + srsran::rwlock_read_guard lock(rwlock); ret = scheduler.dl_rlc_buffer_state(rnti, lc_id, tx_queue, retx_queue); } else { task_sched.defer_callback(0, [this, tx_queue, lc_id]() { - srsran::rwlock_write_guard lock(rwlock); + srsran::rwlock_read_guard lock(rwlock); for (uint32_t i = 0; i < mch.num_mtch_sched; i++) { if (lc_id == mch.mtch_sched[i].lcid) { mch.mtch_sched[i].lcid_buffer_size = tx_queue;