At Wed, 27 May 2015 13:56:04 +0800,
Yu Yang wrote:
> 
> From: Yu Yang <[email protected]>
> 
> When there are more than one request in eventfd, we
> need to handle them one by one.
> 
> Signed-off-by: Yu Yang <[email protected]>
> ---
>  lib/shared/sheep.c |    7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)

Applied, thanks.
Hitoshi

> 
> diff --git a/lib/shared/sheep.c b/lib/shared/sheep.c
> index 933be07..69b99dd 100644
> --- a/lib/shared/sheep.c
> +++ b/lib/shared/sheep.c
> @@ -478,7 +478,9 @@ static void *reply_handler(void *data)
>              !list_empty(&c->inflight_list)) {
>               bool empty;
>  
> -             eventfd_xread(c->reply_fd);
> +             uint64_t events;
> +             events = eventfd_xread(c->reply_fd);
> +
>               sd_read_lock(&c->inflight_lock);
>               empty = list_empty(&c->inflight_list);
>               sd_rw_unlock(&c->inflight_lock);
> @@ -486,7 +488,8 @@ static void *reply_handler(void *data)
>               if (empty)
>                       continue;
>  
> -             sheep_handle_reply(c);
> +             for (uint64_t i = 0; i < events; i++)
> +                     sheep_handle_reply(c);
>  
>       }
>       pthread_detach(pthread_self());
> -- 
> 1.7.9.5
> 
> -- 
> sheepdog mailing list
> [email protected]
> https://lists.wpkg.org/mailman/listinfo/sheepdog
-- 
sheepdog mailing list
[email protected]
https://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to