[libvirt] [PATCH] introduce VIR_CLOSE to be used rather than close()

Eric Blake eblake at redhat.com
Fri Oct 15 17:21:45 UTC 2010


On 10/15/2010 11:12 AM, Laine Stump wrote:
>>>> in a multi-threaded system, I am introducing the VIR_CLOSE(fd) macro
>>>> to help
>>>> avoid mistakes here.
>>>>
> VIR_FREE() is commonly used in the way that Matthias describes, so I
> think it would be consistent to use VIR_CLOSE in this way as well.
>
> Invoking it unconditionally simplifies the code, and eliminates possible
> confusion when someone adds new code and isn't sure which label they
> should goto on failure (or maybe they think they are sure, but make the
> wrong assumption, thus leading to a leaked fd as a result of trying to
> eliminate possible double-closed fd's ;-)

I agree - the whole point of adding the macro is to make it so that we 
have a smaller maintenance burden - fewer labels is a good thing.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list