runtime = tp.tv_sec - in->start.tv_sec;
DEBUG(1, "Instance %s::%s exit with error code %d after %ld seconds\n", in->srv->name, in->name, ret, runtime);
+ if (upgrade_running)
+ return;
+
uloop_timeout_cancel(&in->timeout);
if (in->halt) {
/* no action */
}
in->respawn = true;
in->respawn_count = 0;
- in->respawn_timeout = vals[0];
- in->respawn_threshold = vals[1];
+ in->respawn_threshold = vals[0];
+ in->respawn_timeout = vals[1];
in->respawn_retry = vals[2];
}
if (tb[INSTANCE_ATTR_TRIGGER]) {
- in->trigger = malloc(blob_len(tb[INSTANCE_ATTR_TRIGGER]));
+ in->trigger = malloc(blob_pad_len(tb[INSTANCE_ATTR_TRIGGER]));
if (!in->trigger)
return -1;
- memcpy(in->trigger, tb[INSTANCE_ATTR_TRIGGER], blob_len(tb[INSTANCE_ATTR_TRIGGER]));
+ memcpy(in->trigger, tb[INSTANCE_ATTR_TRIGGER], blob_pad_len(tb[INSTANCE_ATTR_TRIGGER]));
trigger_add(in->trigger, in);
}