Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Test for debug state before calling debug printing function in
authorcristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 25 Aug 2009 14:45:15 +0000 (14:45 +0000)
committercristianrosa <cristianrosa@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 25 Aug 2009 14:45:15 +0000 (14:45 +0000)
simix_action.c. This saves a lots of unecessary calls.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6636 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/simix/smx_action.c

index 90ed720..8866181 100644 (file)
@@ -242,13 +242,23 @@ void SIMIX_register_action_to_condition(smx_action_t action, smx_cond_t cond)
   xbt_assert0((action != NULL) && (cond != NULL), "Invalid parameters");
 
   DEBUG2("Register action %p to cond %p", action, cond);
-  __SIMIX_cond_display_actions(cond);
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_cond_display_actions(cond);
+
   xbt_fifo_push(cond->actions, action);
-  __SIMIX_cond_display_actions(cond);
+
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_cond_display_actions(cond);
+
   DEBUG2("Register condition %p to action %p", cond, action);
-  __SIMIX_action_display_conditions(action);
+
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_action_display_conditions(action);
+
   xbt_fifo_push(action->cond_list, cond);
-  __SIMIX_action_display_conditions(action);
+
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_action_display_conditions(action);
 }
 
 /**
@@ -262,12 +272,21 @@ void SIMIX_unregister_action_to_condition(smx_action_t action, smx_cond_t cond)
 {
   xbt_assert0((action != NULL) && (cond != NULL), "Invalid parameters");
 
-  __SIMIX_cond_display_actions(cond);
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_cond_display_actions(cond);
+
   xbt_fifo_remove_all(cond->actions, action);
-  __SIMIX_cond_display_actions(cond);
-  __SIMIX_action_display_conditions(action);
+
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_cond_display_actions(cond);
+
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_action_display_conditions(action);
+     
   xbt_fifo_remove_all(action->cond_list, cond);
-  __SIMIX_action_display_conditions(action);
+
+  if(XBT_LOG_ISENABLED(simix_action, xbt_log_priority_debug))
+    __SIMIX_action_display_conditions(action);
 }
 
 /**