On 10/09/2012 04:45 PM, Eric Blake wrote:
On 10/09/2012 12:32 AM, Martin Kletzander wrote:
> On 10/09/2012 05:47 AM, Eric Blake wrote:
>> The code was reporting raw exit status without decoding it into
>> normal vs. signal exit. virCommandRun already does this, but
>> with a different error type, so all we have to do is recast
>> the error to the correct type.
>> Reported by li guang.
>>
>> * src/util/hooks.c (virHookCall): Simplify.
>> ---
>>
>> In response to:
>>
https://www.redhat.com/archives/libvir-list/2012-October/msg00308.html
>>
>> src/util/hooks.c | 14 ++++++--------
>> 1 file changed, 6 insertions(+), 8 deletions(-)
>>
>
> ACK,
Pushed.
Hmm, I wonder if we should add a new function,
virCommandSetErrorNumber(cmd, VIR_ERR_...); if it is not called, then
command failure continues to give INTERNAL_ERROR; but if it is called,
then failures of that particular command object are reported with that
error category. Then we wouldn't have to rewrap the error just to
change the category.
Interesting idea. I must say, I spent a while on checking where the
error gets saved and if it bubbles up through the code properly, so
maybe that would simplify it a little bit. OTOH, it would probably mean
more code than less and, when somebody is familiar with current
functions, it is already clear whether the caller makes differences
between exit status and other errors.
Martin