} else {
action->latency_ = 0.0;
}
- if ((action->latency_ == 0.0) && (action->isSuspended() == 0)) {
+ if ((action->latency_ <= 0.0) && (action->isSuspended() == 0)) {
action->updateBound();
lmm_update_variable_weight(maxminSystem_, action->getVariable(), 1.0);
}
action, action->getRemains(), lmm_variable_getvalue(action->getVariable()) * delta);
action->updateRemains(lmm_variable_getvalue(action->getVariable()) * delta);
- if (action->getMaxDuration() != NO_MAX_DURATION)
+ if (action->getMaxDuration() > NO_MAX_DURATION)
action->updateMaxDuration(delta);
XBT_DEBUG("Action (%p) : remains (%g).", action, action->getRemains());
*/
if (((action->getRemains() <= 0) && (lmm_get_variable_weight(action->getVariable()) > 0)) ||
- ((action->getMaxDuration() != NO_MAX_DURATION) && (action->getMaxDuration() <= 0))) {
+ ((action->getMaxDuration() > NO_MAX_DURATION) && (action->getMaxDuration() <= 0))) {
action->finish();
action->setState(Action::State::done);
} else {
}
double lat_bound = sg_tcp_gamma / (2.0 * lat_current);
XBT_DEBUG("action (%p) : lat_bound = %g", this, lat_bound);
- if ((latency_ == 0.0) && (suspended_ == 0)) {
+ if ((latency_ <= 0.0) && (suspended_ == 0)) {
if (rate_ < 0)
lmm_update_variable_bound(getModel()->getMaxminSystem(), getVariable(), lat_bound);
else
while(!modifiedSet_->empty()) {
Action *action = &(modifiedSet_->front());
modifiedSet_->pop_front();
- int max_dur_flag = 0;
+ bool max_dur_flag = false;
if (action->getStateSet() != runningActionSet_)
continue;
min = now + time_to_completion; // when the task will complete if nothing changes
}
- if ((action->getMaxDuration() != NO_MAX_DURATION) &&
+ if ((action->getMaxDuration() > NO_MAX_DURATION) &&
(min == -1 || action->getStartTime() + action->getMaxDuration() < min)) {
// when the task will complete anyway because of the deadline if any
min = action->getStartTime() + action->getMaxDuration();
- max_dur_flag = 1;
+ max_dur_flag = true;
}
if (min != -1) {
action->heapUpdate(actionHeap_, min, max_dur_flag ? MAX_DURATION : NORMAL);
- XBT_DEBUG("Insert at heap action(%p) min %f now %f", action, min,
- now);
- } else DIE_IMPOSSIBLE;
+ XBT_DEBUG("Insert at heap action(%p) min %f now %f", action, min, now);
+ } else
+ DIE_IMPOSSIBLE;
}
//hereafter must have already the min value for this resource model
if (variable_)
lmm_update_variable_bound(getModel()->getMaxminSystem(), variable_, bound);
- if (getModel()->getUpdateMechanism() == UM_LAZY && getLastUpdate()!=surf_get_clock())
+ if (getModel()->getUpdateMechanism() == UM_LAZY && getLastUpdate() != surf_get_clock())
heapRemove(getModel()->getActionHeap());
XBT_OUT();
}
double Action::getFinishTime()
{
/* keep the function behavior, some models (cpu_ti) change the finish time before the action end */
- return remains_ == 0 ? finishTime_ : -1;
+ return remains_ <= 0 ? finishTime_ : -1;
}
void Action::setData(void* data)