Commit d6d4d87e authored by laurent's avatar laurent

code review comments

parent 8b159d6d
...@@ -54,7 +54,9 @@ int parse_stringlist(paramdef_t *cfgoptions, char *val) { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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 ...@@ -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) ...@@ -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() ...@@ -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 { ...@@ -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) ...@@ -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) ...@@ -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++)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment