cancel update时不回调

This commit is contained in:
zhangchengwei
2018-11-25 13:27:56 +08:00
parent 9fcdaa5c3f
commit bc1907d2c4
3 changed files with 9 additions and 6 deletions

View File

@@ -260,7 +260,6 @@ void tango_cache_update_end(struct tango_cache_ctx *ctx)
void tango_cache_update_cancel(struct tango_cache_ctx *ctx) void tango_cache_update_cancel(struct tango_cache_ctx *ctx)
{ {
ctx->put.close_state = true;
if(ctx->curl != NULL) if(ctx->curl != NULL)
{ {
curl_multi_remove_handle(ctx->instance->multi_hd, ctx->curl); curl_multi_remove_handle(ctx->instance->multi_hd, ctx->curl);
@@ -271,7 +270,7 @@ void tango_cache_update_cancel(struct tango_cache_ctx *ctx)
//<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>ϴ<EFBFBD>IDʱ<44><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cancelɾ<6C><C9BE> //<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>ϴ<EFBFBD>IDʱ<44><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cancelɾ<6C><C9BE>
if(ctx->put.uploadID!=NULL && cache_cancel_upload_minio(ctx)) if(ctx->put.uploadID!=NULL && cache_cancel_upload_minio(ctx))
{ {
ctx->put.state = PUT_STATE_CANCEL; ctx->put.state = PUT_STATE_USER_CANCEL;
} }
else else
{ {

View File

@@ -40,7 +40,8 @@ enum PUT_OBJECT_STATE
PUT_STATE_WAIT_START, PUT_STATE_WAIT_START,
PUT_STATE_PART, PUT_STATE_PART,
PUT_STATE_END, PUT_STATE_END,
PUT_STATE_CANCEL, PUT_STATE_ERR_CANCEL,
PUT_STATE_USER_CANCEL,
}; };
struct easy_string struct easy_string

View File

@@ -380,7 +380,7 @@ void cache_kick_upload_minio_end(struct tango_cache_ctx *ctx)
tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); tango_cache_set_fail_state(ctx, CACHE_ERR_CURL);
if(cache_cancel_upload_minio(ctx)) if(cache_cancel_upload_minio(ctx))
{ {
ctx->put.state = PUT_STATE_CANCEL; ctx->put.state = PUT_STATE_ERR_CANCEL;
} }
else 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)) if(cache_cancel_upload_minio(ctx))
{ {
ctx->put.state = PUT_STATE_CANCEL; ctx->put.state = PUT_STATE_ERR_CANCEL;
} }
else if(ctx->put.close_state) else if(ctx->put.close_state)
{ {
@@ -460,12 +460,15 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long r
} }
break; break;
case PUT_STATE_CANCEL: //<2F>ȴ<EFBFBD><C8B4>ر<EFBFBD> case PUT_STATE_ERR_CANCEL: //<2F>ȴ<EFBFBD><C8B4>ر<EFBFBD>
if(ctx->put.close_state) if(ctx->put.close_state)
{ {
tango_cache_ctx_destroy(ctx); tango_cache_ctx_destroy(ctx);
} }
break; break;
case PUT_STATE_USER_CANCEL:
tango_cache_ctx_destroy(ctx, false);
break;
case PUT_STATE_END: case PUT_STATE_END:
if(res != CURLE_OK || res_code!=200L) if(res != CURLE_OK || res_code!=200L)