the 'int ret' variable of the inner scope was shadowing an 'int ret'
variable in the outer scope, so we weren't propagating any of the error
codes
Signed-off-by: Casey Bodley <cbodley@redhat.com>
RGWCoroutinesStack *stack = *iter;
env.stack = stack;
- int ret = stack->operate(&env);
+ ret = stack->operate(&env);
stack->set_is_scheduled(false);
if (ret < 0) {
ldout(cct, 0) << "ERROR: stack->operate() returned ret=" << ret << dendl;
handle_unblocked_stack(context_stacks, scheduled_stacks, blocked_stack, &blocked_count);
iter = scheduled_stacks.begin();
}
+ if (ret == -ECANCELED) {
+ break;
+ }
if (iter == scheduled_stacks.end()) {
iter = scheduled_stacks.begin();