diff --git a/source/s3_auto_ranged_put.c b/source/s3_auto_ranged_put.c index 710048852..21db46d2e 100644 --- a/source/s3_auto_ranged_put.c +++ b/source/s3_auto_ranged_put.c @@ -12,6 +12,7 @@ #include #include #include +#include /* TODO: better logging of steps */ @@ -992,9 +993,11 @@ struct aws_future_http_message *s_s3_prepare_upload_part(struct aws_s3_request * request->request_body.capacity = request_body_size; } + struct aws_event_loop *loop = aws_event_loop_group_get_next_loop(request->meta_request->client->body_streaming_elg); + part_prep->asyncstep_read_part = aws_s3_meta_request_read_body(meta_request, offset, &request->request_body); - aws_future_bool_register_callback( - part_prep->asyncstep_read_part, s_s3_prepare_upload_part_on_read_done, part_prep); + aws_future_bool_register_event_loop_callback( + part_prep->asyncstep_read_part, loop, s_s3_prepare_upload_part_on_read_done, part_prep); } else { /* Not the first time preparing request (e.g. retry). * We can skip over the async steps that read the body stream */