- // if(remains>0 and weight(variable(action))>0 && used_size == size) {
- // GENERIC_ACTION(action).finish = surf_get_clock();
- // storage_action_state_set((surf_action_t) action, SURF_ACTION_FAILED);
- // } else
- if ((GENERIC_ACTION(action).remains <= 0) &&
- (lmm_get_variable_weight(GENERIC_LMM_ACTION(action).variable) > 0)) {
+
+ if(GENERIC_ACTION(action).remains > 0 &&
+ lmm_get_variable_weight(GENERIC_LMM_ACTION(action).variable) > 0 &&
+ ((storage_t)action->storage)->used_size == ((storage_t)action->storage)->size)
+ {
+ GENERIC_ACTION(action).finish = surf_get_clock();
+ storage_action_state_set((surf_action_t) action, SURF_ACTION_FAILED);
+ } else if ((GENERIC_ACTION(action).remains <= 0) &&
+ (lmm_get_variable_weight(GENERIC_LMM_ACTION(action).variable) > 0))
+ {