From: cristianrosa Date: Tue, 25 Aug 2009 14:45:15 +0000 (+0000) Subject: Test for debug state before calling debug printing function in X-Git-Tag: SVN~1058 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/60d684a0c3b1671fbc60bc47f37eca020627dc02 Test for debug state before calling debug printing function in 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 --- diff --git a/src/simix/smx_action.c b/src/simix/smx_action.c index 90ed720921..8866181491 100644 --- a/src/simix/smx_action.c +++ b/src/simix/smx_action.c @@ -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); } /**