Do not start processSlotTx before it is ready to run.
Implement run-to-completion for processSlotTX. This is achieved by using a new dynamic_barrier_t which allows to specify callback after the first join has been made.
This commit is contained in:
@@ -31,6 +31,16 @@ void dynamic_barrier_init(dynamic_barrier_t* barrier)
|
||||
barrier->completed_jobs = 0;
|
||||
}
|
||||
|
||||
void dynamic_barrier_reset(dynamic_barrier_t* barrier)
|
||||
{
|
||||
barrier->callback = NULL;
|
||||
if (barrier->callback_arg != NULL) {
|
||||
free(barrier->callback_arg);
|
||||
}
|
||||
barrier->callback_arg = NULL;
|
||||
barrier->completed_jobs = 0;
|
||||
}
|
||||
|
||||
void dynamic_barrier_join(dynamic_barrier_t* barrier)
|
||||
{
|
||||
int ret = pthread_mutex_lock(&barrier->barrier_lock);
|
||||
|
||||
@@ -39,6 +39,10 @@ typedef struct dynamic_barrier_t {
|
||||
/// @param barrier
|
||||
void dynamic_barrier_init(dynamic_barrier_t* barrier);
|
||||
|
||||
/// @brief Reset the barrier
|
||||
/// @param barrier
|
||||
void dynamic_barrier_reset(dynamic_barrier_t* barrier);
|
||||
|
||||
/// @brief Perform join on the barrier. May run callback if it is already set
|
||||
/// @param barrier
|
||||
void dynamic_barrier_join(dynamic_barrier_t* barrier);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
add_library(nr_common nr_common.c)
|
||||
target_include_directories(nr_common PUBLIC .)
|
||||
target_link_libraries(nr_common PRIVATE UTIL)
|
||||
target_link_libraries(nr_common PUBLIC UTIL)
|
||||
if (ENABLE_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
@@ -53,7 +53,7 @@ message(STATUS "No specific telnet functions for 4Gue")
|
||||
message(STATUS "Add 5Gue specific telnet functions in libtelnetsrv_5Gue.so")
|
||||
add_library(telnetsrv_5Gue MODULE telnetsrv_5Gue_measurements.c)
|
||||
add_dependencies(telnetsrv telnetsrv_5Gue)
|
||||
target_link_libraries(telnetsrv_5Gue PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs)
|
||||
target_link_libraries(telnetsrv_5Gue PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs UTIL)
|
||||
|
||||
message(STATUS "Add CI specific telnet functions in libtelnetsrv_ci.so")
|
||||
add_library(telnetsrv_ci MODULE telnetsrv_ci.c)
|
||||
@@ -79,4 +79,3 @@ add_dependencies(telnetsrv telnetsrv_rrc)
|
||||
set_target_properties(telnetsrv telnetsrv_enb telnetsrv_5Gue telnetsrv_ci telnetsrv_ciUE telnetsrv_bearer telnetsrv_rrc
|
||||
PROPERTIES LIBRARY_OUTPUT_DIRECTORY ../../..
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user