Merge branch 'episys/sfn_semaphore' into episys/new_queue_system

This commit is contained in:
Andrew Burger
2020-07-13 11:30:27 -07:00
4 changed files with 21 additions and 1 deletions
+7
View File
@@ -49,6 +49,7 @@ queue_t ul_config_req_queue;
queue_t hi_dci0_req_queue;
int current_sfn_sf;
sem_t sfn_semaphore;
static int ue_tx_sock_descriptor = -1;
static int ue_rx_sock_descriptor = -1;
@@ -1204,6 +1205,12 @@ void *ue_standalone_pnf_task(void *context)
uint16_t sfn_sf = 0;
memcpy((void *)&sfn_sf, buffer, sizeof(sfn_sf));
current_sfn_sf = sfn_sf;
if (sem_post(&sfn_semaphore) != 0)
{
LOG_E(MAC, "sem_post() error\n");
abort();
}
}
else
{
+3
View File
@@ -14,6 +14,7 @@
#include "nfapi_interface.h"
#include "nfapi_pnf_interface.h"
#include <pthread.h>
#include <semaphore.h>
#include "nfapi/oai_integration/vendor_ext.h"
//#include "openair1/PHY/LTE_TRANSPORT/defs.h"
//#include "openair1/PHY/defs.h"
@@ -156,4 +157,6 @@ extern nfapi_hi_dci0_request_t* hi_dci0_req;
extern int current_sfn_sf;
extern sem_t sfn_semaphore;
#endif /* PHY_STUB_UE_H_ */
+5 -1
View File
@@ -1046,7 +1046,11 @@ static void *UE_phy_stub_standalone_pnf_task(void *arg)
bool sent_any = false;
int sfn_sf = current_sfn_sf;
if (sfn_sf == last_sfn_sf) {
usleep(100);
if (sem_wait(&sfn_semaphore) != 0)
{
LOG_E(MAC, "sem_wait() error\n");
abort();
}
continue;
}
+6
View File
@@ -733,7 +733,13 @@ int main( int argc, char **argv ) {
init_queue(&tx_req_pdu_queue);
init_queue(&hi_dci0_req_queue);
init_queue(&ul_config_req_queue);
config_sync_var=0;
if (sem_init(&sfn_semaphore, 0, 0) != 0)
{
LOG_E(MAC, "sem_init() error\n");
abort();
}
init_UE_stub_single_thread(NB_UE_INST,eMBMS_active,uecap_xer_in,emul_iface);
init_UE_standalone_thread();
} else {