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)