From cb3737d02aa08fe1cb94eabccc5179a6b5493490 Mon Sep 17 00:00:00 2001 From: zhangchengwei Date: Sun, 25 Nov 2018 13:49:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E5=BC=8F=E4=B8=8A=E4=BC=A0=E4=B8=BB?= =?UTF-8?q?=E5=8A=A8cancel=E6=97=B6=E4=BC=9A=E4=BA=A7=E7=94=9Fpromise=5Ffa?= =?UTF-8?q?il=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cache/src/tango_cache_client.cpp | 5 +++-- cache/src/tango_cache_client_in.h | 3 +-- cache/src/tango_cache_transfer.cpp | 9 +++------ 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/cache/src/tango_cache_client.cpp b/cache/src/tango_cache_client.cpp index aff5442..ca8cd73 100644 --- a/cache/src/tango_cache_client.cpp +++ b/cache/src/tango_cache_client.cpp @@ -260,6 +260,7 @@ void tango_cache_update_end(struct tango_cache_ctx *ctx) void tango_cache_update_cancel(struct tango_cache_ctx *ctx) { + ctx->put.close_state = true; if(ctx->curl != NULL) { curl_multi_remove_handle(ctx->instance->multi_hd, ctx->curl); @@ -270,11 +271,11 @@ void tango_cache_update_cancel(struct tango_cache_ctx *ctx) //已经产生分段上传ID时,调用cancel删除 if(ctx->put.uploadID!=NULL && cache_cancel_upload_minio(ctx)) { - ctx->put.state = PUT_STATE_USER_CANCEL; + ctx->put.state = PUT_STATE_CANCEL; } else { - tango_cache_ctx_destroy(ctx, false); + tango_cache_ctx_destroy(ctx); } } diff --git a/cache/src/tango_cache_client_in.h b/cache/src/tango_cache_client_in.h index 258900c..8a76868 100644 --- a/cache/src/tango_cache_client_in.h +++ b/cache/src/tango_cache_client_in.h @@ -40,8 +40,7 @@ enum PUT_OBJECT_STATE PUT_STATE_WAIT_START, PUT_STATE_PART, PUT_STATE_END, - PUT_STATE_ERR_CANCEL, - PUT_STATE_USER_CANCEL, + PUT_STATE_CANCEL, }; struct easy_string diff --git a/cache/src/tango_cache_transfer.cpp b/cache/src/tango_cache_transfer.cpp index 02aa1f0..f744f25 100644 --- a/cache/src/tango_cache_transfer.cpp +++ b/cache/src/tango_cache_transfer.cpp @@ -380,7 +380,7 @@ void cache_kick_upload_minio_end(struct tango_cache_ctx *ctx) tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); if(cache_cancel_upload_minio(ctx)) { - ctx->put.state = PUT_STATE_ERR_CANCEL; + ctx->put.state = PUT_STATE_CANCEL; } else { @@ -439,7 +439,7 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long r { if(cache_cancel_upload_minio(ctx)) { - ctx->put.state = PUT_STATE_ERR_CANCEL; + ctx->put.state = PUT_STATE_CANCEL; } else if(ctx->put.close_state) { @@ -460,15 +460,12 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long r } break; - case PUT_STATE_ERR_CANCEL: //等待关闭 + case PUT_STATE_CANCEL: //等待关闭 if(ctx->put.close_state) { tango_cache_ctx_destroy(ctx); } break; - case PUT_STATE_USER_CANCEL: - tango_cache_ctx_destroy(ctx, false); - break; case PUT_STATE_END: if(res != CURLE_OK || res_code!=200L)