缓存判定未正确处理miss状态,修复此问题。
This commit is contained in:
@@ -1007,9 +1007,9 @@ static void cache_pending_on_succ(future_result_t * result, void * user)
|
|||||||
ctx->pending_result = PENDING_RESULT_MISS;
|
ctx->pending_result = PENDING_RESULT_MISS;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!(meta->etag && meta->last_modified))
|
if( meta->etag==NULL && meta->last_modified==NULL)
|
||||||
{
|
{
|
||||||
ctx->pending_result = PENDING_RESULT_FOBIDDEN;
|
ctx->pending_result = PENDING_RESULT_MISS;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ctx->pending_result=PENDING_RESULT_REVALIDATE;
|
ctx->pending_result=PENDING_RESULT_REVALIDATE;
|
||||||
|
|||||||
@@ -421,8 +421,15 @@ void cache_pending_ctx_free_cb(void* p)
|
|||||||
const struct cached_meta* cache_pending_result_read_meta(future_result_t * result)
|
const struct cached_meta* cache_pending_result_read_meta(future_result_t * result)
|
||||||
{
|
{
|
||||||
struct cache_pending_context* ctx=(struct cache_pending_context*)result;
|
struct cache_pending_context* ctx=(struct cache_pending_context*)result;
|
||||||
|
if(ctx->status==PENDING_RESULT_MISS)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return &(ctx->cached_obj_meta);
|
return &(ctx->cached_obj_meta);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void cache_query_meta_on_succ(future_result_t * result, void * user)
|
static void cache_query_meta_on_succ(future_result_t * result, void * user)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user