code review comments
This commit is contained in:
@@ -54,7 +54,9 @@ int parse_stringlist(paramdef_t *cfgoptions, char *val) {
|
|||||||
|
|
||||||
free(tmpval);
|
free(tmpval);
|
||||||
|
|
||||||
AssertFatal(MAX_LIST_SIZE > numelt, "");
|
AssertFatal(MAX_LIST_SIZE > numelt,
|
||||||
|
"This piece of code use fixed size arry of constant #define MAX_LIST_SIZE %d\n",
|
||||||
|
MAX_LIST_SIZE );
|
||||||
config_check_valptr(cfgoptions, sizeof(char*), numelt);
|
config_check_valptr(cfgoptions, sizeof(char*), numelt);
|
||||||
|
|
||||||
cfgoptions->numelt=numelt;
|
cfgoptions->numelt=numelt;
|
||||||
|
|||||||
@@ -339,16 +339,23 @@ void end_configmodule(void) {
|
|||||||
pthread_mutex_lock(&cfgptr->memBlocks_mutex);
|
pthread_mutex_lock(&cfgptr->memBlocks_mutex);
|
||||||
printf ("[CONFIG] free %u config value pointers\n",cfgptr->numptrs);
|
printf ("[CONFIG] free %u config value pointers\n",cfgptr->numptrs);
|
||||||
|
|
||||||
int n=0;
|
|
||||||
for(int i=0; i<cfgptr->numptrs ; i++) {
|
for(int i=0; i<cfgptr->numptrs ; i++) {
|
||||||
if (cfgptr->oneBlock[i].ptrs != NULL && cfgptr->oneBlock[i].ptrsAllocated== true && cfgptr->oneBlock[i].toFree) {
|
if (cfgptr->oneBlock[i].ptrs != NULL && cfgptr->oneBlock[i].ptrsAllocated== true && cfgptr->oneBlock[i].toFree) {
|
||||||
free(cfgptr->oneBlock[i].ptrs);
|
free(cfgptr->oneBlock[i].ptrs);
|
||||||
memset(&cfgptr->oneBlock[i], 0, sizeof(cfgptr->oneBlock[i]));
|
memset(&cfgptr->oneBlock[i], 0, sizeof(cfgptr->oneBlock[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cfgptr->numptrs=0;
|
cfgptr->numptrs=0;
|
||||||
pthread_mutex_unlock(&cfgptr->memBlocks_mutex);
|
pthread_mutex_unlock(&cfgptr->memBlocks_mutex);
|
||||||
|
if ( cfgptr->cfgmode )
|
||||||
|
free(cfgptr->cfgmode);
|
||||||
|
|
||||||
|
if ( cfgptr->argv_info )
|
||||||
|
free( cfgptr->argv_info );
|
||||||
|
|
||||||
|
free(cfgptr);
|
||||||
|
cfgptr=NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,9 @@ configmodule_interface_t *config_get_if(void) {
|
|||||||
|
|
||||||
static int managed_ptr_sz(void* ptr) {
|
static int managed_ptr_sz(void* ptr) {
|
||||||
configmodule_interface_t * cfg=config_get_if();
|
configmodule_interface_t * cfg=config_get_if();
|
||||||
AssertFatal(cfg->numptrs < CONFIG_MAX_ALLOCATEDPTRS,"");
|
AssertFatal(cfg->numptrs < CONFIG_MAX_ALLOCATEDPTRS,
|
||||||
|
"This code use fixed size array as #define CONFIG_MAX_ALLOCATEDPTRS %d\n",
|
||||||
|
CONFIG_MAX_ALLOCATEDPTRS);
|
||||||
int i;
|
int i;
|
||||||
pthread_mutex_lock(&cfg->memBlocks_mutex);
|
pthread_mutex_lock(&cfg->memBlocks_mutex);
|
||||||
int numptrs=cfg->numptrs;
|
int numptrs=cfg->numptrs;
|
||||||
@@ -70,19 +72,17 @@ static int managed_ptr_sz(void* ptr) {
|
|||||||
|
|
||||||
void *config_allocate_new(int sz, bool autoFree) {
|
void *config_allocate_new(int sz, bool autoFree) {
|
||||||
void *ptr = calloc(sz,1);
|
void *ptr = calloc(sz,1);
|
||||||
if (ptr != NULL) {
|
AssertFatal(ptr, "calloc fails\n");
|
||||||
configmodule_interface_t * cfg=config_get_if();
|
configmodule_interface_t * cfg=config_get_if();
|
||||||
// add the memory piece in the managed memory pieces list
|
// add the memory piece in the managed memory pieces list
|
||||||
pthread_mutex_lock(&cfg->memBlocks_mutex);
|
pthread_mutex_lock(&cfg->memBlocks_mutex);
|
||||||
int newBlockIdx=cfg->numptrs++;
|
int newBlockIdx=cfg->numptrs++;
|
||||||
oneBlock_t* tmp=&cfg->oneBlock[newBlockIdx];
|
oneBlock_t* tmp=&cfg->oneBlock[newBlockIdx];
|
||||||
tmp->ptrs = (char *)ptr;
|
tmp->ptrs = (char *)ptr;
|
||||||
tmp->ptrsAllocated = true;
|
tmp->ptrsAllocated = true;
|
||||||
tmp->sz=sz;
|
tmp->sz=sz;
|
||||||
tmp->toFree=autoFree;
|
tmp->toFree=autoFree;
|
||||||
pthread_mutex_unlock(&cfg->memBlocks_mutex);
|
pthread_mutex_unlock(&cfg->memBlocks_mutex);
|
||||||
} else
|
|
||||||
AssertFatal(false, "calloc fails\n");
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +124,9 @@ void config_check_valptr(paramdef_t *cfgoptions, int elt_sz, int nb_elt) {
|
|||||||
// difficult datamodel
|
// difficult datamodel
|
||||||
cfgoptions->strptr = config_allocate_new(sizeof(*cfgoptions->strptr), toFree);
|
cfgoptions->strptr = config_allocate_new(sizeof(*cfgoptions->strptr), toFree);
|
||||||
} else if ( cfgoptions->type == TYPE_STRINGLIST) {
|
} else if ( cfgoptions->type == TYPE_STRINGLIST) {
|
||||||
AssertFatal(nb_elt<MAX_LIST_SIZE, "");
|
AssertFatal(nb_elt<MAX_LIST_SIZE,
|
||||||
|
"This piece of code use fixed size arry of constant #define MAX_LIST_SIZE %d\n",
|
||||||
|
MAX_LIST_SIZE );
|
||||||
cfgoptions->strlistptr= config_allocate_new(sizeof(char*)*MAX_LIST_SIZE, toFree);
|
cfgoptions->strlistptr= config_allocate_new(sizeof(char*)*MAX_LIST_SIZE, toFree);
|
||||||
for (int i=0; i<MAX_LIST_SIZE; i++)
|
for (int i=0; i<MAX_LIST_SIZE; i++)
|
||||||
cfgoptions->strlistptr[i]= config_allocate_new(DEFAULT_EXTRA_SZ, toFree);
|
cfgoptions->strlistptr[i]= config_allocate_new(DEFAULT_EXTRA_SZ, toFree);
|
||||||
|
|||||||
@@ -57,7 +57,9 @@ int read_strlist(paramdef_t *cfgoptions,config_setting_t *setting, char *cfgpath
|
|||||||
numelt=config_setting_length(setting);
|
numelt=config_setting_length(setting);
|
||||||
config_check_valptr(cfgoptions, sizeof(char *), numelt);
|
config_check_valptr(cfgoptions, sizeof(char *), numelt);
|
||||||
st=0;
|
st=0;
|
||||||
AssertFatal(MAX_LIST_SIZE > numelt, "");
|
AssertFatal(MAX_LIST_SIZE > numelt,
|
||||||
|
"This piece of code use fixed size arry of constant #define MAX_LIST_SIZE %d\n",
|
||||||
|
MAX_LIST_SIZE );
|
||||||
for (int i=0; i< numelt ; i++) {
|
for (int i=0; i< numelt ; i++) {
|
||||||
str=config_setting_get_string_elem(setting,i);
|
str=config_setting_get_string_elem(setting,i);
|
||||||
|
|
||||||
|
|||||||
@@ -381,8 +381,8 @@ void log_getconfig(log_t *g_log)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int register_log_component(char *name,
|
int register_log_component(char *name,
|
||||||
char *fext,
|
char *fext,
|
||||||
int compidx)
|
int compidx)
|
||||||
{
|
{
|
||||||
int computed_compidx=compidx;
|
int computed_compidx=compidx;
|
||||||
|
|
||||||
|
|||||||
@@ -281,5 +281,9 @@ void loader_reset()
|
|||||||
shlib->numfunc = 0;
|
shlib->numfunc = 0;
|
||||||
shlib->len_funcarray = 0;
|
shlib->len_funcarray = 0;
|
||||||
}
|
}
|
||||||
|
if(loader_data.shlibpath){
|
||||||
|
free(loader_data.shlibpath);
|
||||||
|
loader_data.shlibpath=NULL;
|
||||||
|
}
|
||||||
free(loader_data.shlibs);
|
free(loader_data.shlibs);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ typedef struct {
|
|||||||
}loader_shlibdesc_t;
|
}loader_shlibdesc_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *mainexec_buildversion;
|
char *mainexec_buildversion;
|
||||||
char *shlibpath;
|
char *shlibpath;
|
||||||
uint32_t maxshlibs;
|
uint32_t maxshlibs;
|
||||||
uint32_t numshlibs;
|
uint32_t numshlibs;
|
||||||
loader_shlibdesc_t *shlibs;
|
loader_shlibdesc_t *shlibs;
|
||||||
}loader_data_t;
|
}loader_data_t;
|
||||||
|
|
||||||
/* function type of functions which may be implemented by a module */
|
/* function type of functions which may be implemented by a module */
|
||||||
|
|||||||
@@ -659,10 +659,6 @@ int main(int argc, char **argv)
|
|||||||
if (ouput_vcd)
|
if (ouput_vcd)
|
||||||
vcd_signal_dumper_close();
|
vcd_signal_dumper_close();
|
||||||
end_configmodule();
|
end_configmodule();
|
||||||
if (load_configmodule(argc, argv, CONFIG_ENABLECMDLINEONLY) == 0) {
|
|
||||||
exit_fun("[NR_DLSCHSIM] Error, configuration module init 2 failed\n");
|
|
||||||
}
|
|
||||||
logInit();
|
|
||||||
loader_reset();
|
loader_reset();
|
||||||
logTerm();
|
logTerm();
|
||||||
|
|
||||||
|
|||||||
@@ -238,8 +238,7 @@ void mac_top_init_gNB(ngran_node_t node_type)
|
|||||||
RC.nrmac[i]->pre_processor_ul = nr_init_fr1_ulsch_preprocessor(i, 0);
|
RC.nrmac[i]->pre_processor_ul = nr_init_fr1_ulsch_preprocessor(i, 0);
|
||||||
}
|
}
|
||||||
if (!IS_SOFTMODEM_NOSTATS_BIT)
|
if (!IS_SOFTMODEM_NOSTATS_BIT)
|
||||||
|
threadCreate(&RC.nrmac[i]->stats_thread, nrmac_stats_thread, (void*)RC.nrmac[i], "MAC_STATS", -1, sched_get_priority_min(SCHED_OAI)+1 );
|
||||||
threadCreate(&RC.nrmac[i]->stats_thread, nrmac_stats_thread, (void*)RC.nrmac[i], "MAC_STATS", -1, sched_get_priority_min(SCHED_OAI)+1 );
|
|
||||||
mac_rrc_init(RC.nrmac[i], node_type);
|
mac_rrc_init(RC.nrmac[i], node_type);
|
||||||
}//END for (i = 0; i < RC.nb_nr_macrlc_inst; i++)
|
}//END for (i = 0; i < RC.nb_nr_macrlc_inst; i++)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user