On 03/13/2012 05:08 PM, huxinwei wrote:

> Preventing cache_object_fd leak while being called in object_is_cached.
> 
> On the other hand, I do this think this part of code is subject to 
> refactoring.
> The usage of cache_object_fd is really subtle ;)
> 


Yea, I already met this problem and have fixed some fd leak right now
(will be updated at v3).

cache_object_fd will be removed, maybe will come up with better API that
would reduce the risk of fd leak.

Thanks,
Yuan

> FYI.
> 
> Signed-off-by: Xinwei Hu <[email protected] >
> 
> diff --git a/sheep/object_cache.c b/sheep/object_cache.c
> index 27a64a9..f75b7a1 100644
> --- a/sheep/object_cache.c
> +++ b/sheep/object_cache.c
> @@ -457,8 +457,10 @@ int object_is_cached(uint64_t oid)
>         cache->oid = oid;
>         if (object_cache_lookup(cache, idx) < 0)
>                 return 0;
> -       else
> +       else {
> +               close(cache_object_fd);
>                 return 1; /* found it */
> +       }
>  }
> 
>  int object_cache_init(const char *p)
> 
> 


-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to