[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] macvtap: Fix error return values to -1 instead of 1





On 10/27/11 7:01 PM, "Eric Blake" <eblake redhat com> wrote:

> On 10/27/2011 05:57 PM, Roopa Prabhu wrote:
>>> 
>> Also, looks like no where else in libvirt code we return errno. We only
>> print errno but always return -1. And the -ETIMEDOUT case in macvtap is an
>> exception, cause the upper layer requires the cause of this particular
>> error.
> 
> We have a few places that return -1 on most errors, 0 on normal success,
> and -2 on timeout; that is, the < 0 check can filter out all
> non-success, but callers that care about the particular failure can
> compare against -1.
> 
> If all errors can map to errno, we do have some examples of API that
> return -errno; but those tend to be lower level API (lots in
> util/util.c, not so many elsewhere); it tends to be easier to return -1
> and document if errno is set to a sane value on failure.
> 
>> I don't mind changing everything to errno. But that seems to be not the
>> convention. And I cant find a clean way to not return -ETIMEDOUT. I can
>> however return status of the command in an argument and return -1 for the
>> ETIMEDOUT case. I will do that unless you have other suggestions. Thanks.
> 
> Returning -1 and -errno in the same function doesn't work (since -1
> would be ambiguous with EACCES, on some systems), but returning -1 vs.
> -2 to distinguish timeout from normal errors is fine.

Ok thanks eric. This helps.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]