[libvirt] [PATCH v3] bye to close(), welcome to VIR_(FORCE_)CLOSE()

Stefan Berger stefanb at linux.vnet.ibm.com
Tue Nov 9 12:32:29 UTC 2010


On 11/09/2010 05:58 AM, Daniel P. Berrange wrote:
> On Mon, Nov 08, 2010 at 03:17:56PM -0700, Eric Blake wrote:
>>> Index: libvirt-acl/src/libvirt.c
>>> ===================================================================
>>> --- libvirt-acl.orig/src/libvirt.c
>>> +++ libvirt-acl/src/libvirt.c
>>> @@ -10794,7 +10794,7 @@ virStreamRef(virStreamPtr stream)
>>>    *      ... report an error ....
>>>    * done:
>>>    *   virStreamFree(st);
>>> - *   close(fd);
>>> + *   VIR_FORCE_CLOSE(fd);
>>>    *
>>>    * Returns the number of bytes written, which may be less
>>>    * than requested.
>>> @@ -10884,8 +10884,8 @@ error:
>>>    *      ... report an error ....
>>>    * done:
>>>    *   virStreamFree(st);
>>> - *   close(fd);
>>> - *
>>> + *   if (VIR_CLOSE(fd)<  0)
>>> + *       virReportSystemError(errno, "%s", _("failed to close file"));
>>>    *
>>>    * Returns the number of bytes read, which may be less
>>>    * than requested.
>>> @@ -10964,7 +10964,7 @@ error:
>>>    *   if (virStreamFinish(st)<  0)
>>>    *      ...report an error...
>>>    *   virStreamFree(st);
>>> - *   close(fd);
>>> + *   VIR_FORCE_CLOSE(fd);
>>>    *
>>>    * Returns 0 if all the data was successfully sent. The caller
>>>    * should invoke virStreamFinish(st) to flush the stream upon
>> These first three are okay.
>>
>>> @@ -11061,7 +11061,7 @@ cleanup:
>>>    *   if (virStreamFinish(st)<  0)
>>>    *      ...report an error...
>>>    *   virStreamFree(st);
>>> - *   close(fd);
>>> + *   VIR_FORCE_CLOSE(fd);
>> But the comment for virStreamRecvAll should match the comment for
>> virStreamRecv.  (Comments only, so trivial to fix).
>
> None of these comments should be changed. They are illustrating how to
> use the libvirt public API from application code. Application code
> will not have VIR_CLOSE/VIR_FORCE_CLOSE since that's libvirt internal
> stuff.
I'll entirely cut out the changes to this file.

    Stefan

> Regards,
> Daniel




More information about the libvir-list mailing list