On 1/29/19 1:35 PM, Jeff Moyer wrote:
> Jens Axboe <[email protected]> writes:
> 
>> On 1/29/19 11:31 AM, Jens Axboe wrote:
>>>> The code looks a little clumsy to me.  Why not:
>>>>
>>>>    while (!list_empty(&ctx->poll_list)) {
>>>>            int ret = io_do_iopoll(ctx, nr_events, min);
>>>>            if (ret)
>>>>                    return ret;
>>>>
>>>>            if (!min || *nr_events >= min)
>>>>                    return 0;
>>>>    }
>>>>
>>>>    return 1;
>>>
>>> I think you messed up the 0/1 here, how about this:
>>>
>>>     while (!list_empty(&ctx->poll_list)) {
>>>             int ret;
>>>
>>>             ret = io_do_iopoll(ctx, nr_events, min);
>>>             if (ret < 0)
>>>                     return ret;
>>>             if (!min || *nr_events >= min)
>>>                     return 1;
>>>     }
>>>
>>>     return 0;
>>
>> Or I did... I think yours is correct.
> 
> maybe document the return code?  ;-)

It is sort-of documented - <= 0 means "don't call me again", either
because of an error (< 0) or because we have what we need. 1 means
"I might have more".

But yes, maybe a comment...

-- 
Jens Axboe

Reply via email to