Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
merge branches
[simgrid.git] / src / instr / instr_paje.c
index 0d32eda..3c1591c 100644 (file)
@@ -233,6 +233,7 @@ container_t newContainer (const char *name, e_container_types kind, container_t
 
 static container_t recursiveGetContainer (const char *name, container_t root)
 {
+  if (name == NULL || root == NULL) return NULL;
   if (strcmp (root->name, name) == 0) return root;
 
   xbt_dict_cursor_t cursor = NULL;
@@ -247,9 +248,19 @@ static container_t recursiveGetContainer (const char *name, container_t root)
 
 container_t getContainer (const char *name)
 {
+  if (name == NULL) return NULL;
   return recursiveGetContainer(name, rootContainer);
 }
 
+int knownContainerWithName (const char *name)
+{
+  if (xbt_dict_get_or_null (allContainers, name)){
+    return 1;
+  }else{
+    return 0;
+  }
+}
+
 container_t getContainerByName (const char *name)
 {
   return (container_t)xbt_dict_get (allContainers, name);
@@ -299,7 +310,10 @@ void destroyContainer (container_t container)
   TRACE_paje_dump_buffer(1);
 
   //trace my destruction
-  new_pajeDestroyContainer(container);
+  if (!TRACE_disable_destroy()){
+    //do not trace the container destruction if user requests
+    new_pajeDestroyContainer(container);
+  }
 
   //free
   xbt_free (container->name);