Run PRACH workers before cc_workers fixes memory corruption when PRACH workers run in foreground (eg in ZMQ)

master
Ismael Gomez 4 years ago
parent 0761a8f08b
commit a360580999

@ -183,6 +183,11 @@ void txrx::run_thread()
lte_worker->set_time(tti, tx_worker_cnt, timestamp);
tx_worker_cnt = (tx_worker_cnt + 1) % nof_workers;
// Trigger prach worker execution
for (uint32_t cc = 0; cc < worker_com->get_nof_carriers_lte(); cc++) {
prach->new_tti(cc, tti, buffer.get(worker_com->get_rf_port(cc), 0, worker_com->get_nof_ports(0)));
}
// Launch NR worker only if available
if (nr_worker != nullptr) {
nr_worker->set_tti(tti);
@ -194,11 +199,6 @@ void txrx::run_thread()
worker_com->semaphore.push(lte_worker);
lte_workers->start_worker(lte_worker);
// Trigger prach worker execution
for (uint32_t cc = 0; cc < worker_com->get_nof_carriers_lte(); cc++) {
prach->new_tti(cc, tti, buffer.get(worker_com->get_rf_port(cc), 0, worker_com->get_nof_ports(0)));
}
// Advance stack in time
stack->tti_clock();
}

@ -161,7 +161,7 @@ void ra_proc::state_pdcch_setup()
ra_tti = info.tti_ra;
ra_rnti = 1 + (ra_tti % 10) + (10 * info.f_id);
rInfo("seq=%d, ra-rnti=0x%x, ra-tti=%d, f_id=%d\n", sel_preamble, ra_rnti, info.tti_ra, info.f_id);
srslte::console("Random Access Transmission: seq=%d, ra-rnti=0x%x\n", sel_preamble, ra_rnti);
srslte::console("Random Access Transmission: seq=%d, tti=%d, ra-rnti=0x%x\n", sel_preamble, info.tti_ra, ra_rnti);
rar_window_st = ra_tti + 3;
rntis->rar_rnti = ra_rnti;
state = RESPONSE_RECEPTION;

Loading…
Cancel
Save