On 07/20/2011 07:30 PM, Laine Stump wrote:
On 07/20/2011 07:15 PM, Eric Blake wrote:
> It is common to see the sequence:
>
> virErrorPtr save_err = virSaveLastError();
> // do cleanup
> virSetError(save_err);
> virFreeError(save_err);
>
> on cleanup paths. But for functions where it is desirable to
> return the errno that caused failure, this sequence can clobber
> that errno. virFreeError was already safe; this makes the other
> two functions in the sequence safe as well, assuming all goes
> well (on OOM, errno will be clobbered, but then again, save_err
> won't reflect the real error that happened, so you are no longer
> preserving the real situation - that's life with OOM).
>
> * src/util/virterror.c (virSaveLastError, virSetError): Preserve
> errno.
> ---
ACK.
Thanks; pushed.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org