- xbt_swag_remove(action, action->state_set);
- if(((surf_action_network_KCCFLN05_t)action)->variable)
- lmm_variable_free(maxmin_system_network_KCCFLN05,
- ((surf_action_network_KCCFLN05_t) action)->variable);
-
- xbt_dynar_foreach (src->outgoing_communications,cpt,act) {
- if(act==action) {
- xbt_dynar_remove_at(src->outgoing_communications, cpt, &act);
- break;
+ action->using--;
+ if(!action->using) {
+
+ xbt_swag_remove(action, action->state_set);
+ if(((surf_action_network_KCCFLN05_t)action)->variable)
+ lmm_variable_free(maxmin_system_network_KCCFLN05,
+ ((surf_action_network_KCCFLN05_t) action)->variable);
+
+ xbt_dynar_foreach (src->outgoing_communications,cpt,act) {
+ if(act==action) {
+ xbt_dynar_remove_at(src->outgoing_communications, cpt, &act);
+ break;
+ }