From c4c1daeb163a83558d90114c2ea62cde1051bebd Mon Sep 17 00:00:00 2001
From: Melissa Elkadi <melissa@episci.com>
Date: Wed, 20 Dec 2023 21:58:01 +0000
Subject: [PATCH] Moving init of NRUE threads to nr-uesoftmodem.c

---
 executables/nr-uesoftmodem.c   | 22 ++++++++++++++++++++++
 executables/nr-uesoftmodem.h   |  2 +-
 openair2/RRC/NR_UE/rrc_UE.c    | 22 ----------------------
 openair2/RRC/NR_UE/rrc_proto.h |  2 +-
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c
index 3a5532af43..34047ed806 100644
--- a/executables/nr-uesoftmodem.c
+++ b/executables/nr-uesoftmodem.c
@@ -425,6 +425,28 @@ static void get_channel_model_mode(configmodule_interface_t *cfg)
     init_bler_table("NR_AWGN_RESULTS_DIR");
 }
 
+void start_oai_nrue_threads()
+{
+    init_queue(&nr_rach_ind_queue);
+    init_queue(&nr_rx_ind_queue);
+    init_queue(&nr_crc_ind_queue);
+    init_queue(&nr_uci_ind_queue);
+    init_queue(&nr_sfn_slot_queue);
+    init_queue(&nr_chan_param_queue);
+    init_queue(&nr_dl_tti_req_queue);
+    init_queue(&nr_tx_req_queue);
+    init_queue(&nr_ul_dci_req_queue);
+    init_queue(&nr_ul_tti_req_queue);
+
+    if (sem_init(&sfn_slot_semaphore, 0, 0) != 0)
+    {
+      LOG_E(MAC, "sem_init() error\n");
+      abort();
+    }
+
+    init_nrUE_standalone_thread(ue_id_g);
+}
+
 int NB_UE_INST = 1;
 configmodule_interface_t *uniqCfg = NULL;
 
diff --git a/executables/nr-uesoftmodem.h b/executables/nr-uesoftmodem.h
index 3549a7fae1..7adba3fa97 100644
--- a/executables/nr-uesoftmodem.h
+++ b/executables/nr-uesoftmodem.h
@@ -97,7 +97,7 @@ extern void init_NR_UE(int, char *, char *, char *);
 extern void init_NR_UE_threads(int);
 extern void reset_opp_meas(void);
 extern void print_opp_meas(void);
-extern void start_oai_nrue_threads(void);
+void start_oai_nrue_threads(void);
 void *UE_thread(void *arg);
 void init_nr_ue_vars(PHY_VARS_NR_UE *ue, uint8_t UE_id, uint8_t abstraction_flag);
 void init_nrUE_standalone_thread(int ue_idx);
diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c
index 1c6264bb32..77c2347c89 100644
--- a/openair2/RRC/NR_UE/rrc_UE.c
+++ b/openair2/RRC/NR_UE/rrc_UE.c
@@ -1656,28 +1656,6 @@ void *recv_msgs_from_lte_ue(void *args_p)
     return NULL;
 }
 
-void start_oai_nrue_threads()
-{
-    init_queue(&nr_rach_ind_queue);
-    init_queue(&nr_rx_ind_queue);
-    init_queue(&nr_crc_ind_queue);
-    init_queue(&nr_uci_ind_queue);
-    init_queue(&nr_sfn_slot_queue);
-    init_queue(&nr_chan_param_queue);
-    init_queue(&nr_dl_tti_req_queue);
-    init_queue(&nr_tx_req_queue);
-    init_queue(&nr_ul_dci_req_queue);
-    init_queue(&nr_ul_tti_req_queue);
-
-    if (sem_init(&sfn_slot_semaphore, 0, 0) != 0)
-    {
-      LOG_E(MAC, "sem_init() error\n");
-      abort();
-    }
-    extern uint16_t ue_id_g;
-    init_nrUE_standalone_thread(ue_id_g);
-}
-
 static void nsa_rrc_ue_process_ueCapabilityEnquiry(void)
 {
   NR_UE_NR_Capability_t *UE_Capability_nr = NR_UE_rrc_inst[0].UECap.UE_NR_Capability = CALLOC(1, sizeof(NR_UE_NR_Capability_t));
diff --git a/openair2/RRC/NR_UE/rrc_proto.h b/openair2/RRC/NR_UE/rrc_proto.h
index 2d9d19423c..35fe67ec46 100644
--- a/openair2/RRC/NR_UE/rrc_proto.h
+++ b/openair2/RRC/NR_UE/rrc_proto.h
@@ -110,7 +110,7 @@ void init_connections_with_lte_ue(void);
 
 void nsa_sendmsg_to_lte_ue(const void *message, size_t msg_len, Rrc_Msg_Type_t msg_type);
 
-void start_oai_nrue_threads(void);
+extern void start_oai_nrue_threads(void);
 
 int get_from_lte_ue_fd();
 
-- 
2.26.2