[libvirt] [PATCH] esx: Make the parsed URI part of the private connection data
Matthias Bolte
matthias.bolte at googlemail.com
Thu Apr 14 15:44:10 UTC 2011
2011/4/11 Eric Blake <eblake at redhat.com>:
> On 04/10/2011 09:18 AM, Matthias Bolte wrote:
>> This will be used to make esxVI_Context clonable.
>>
>> Also move cleanup code for esxPrivate to esxFreePrivate().
>> ---
>> src/esx/esx_driver.c | 103 ++++++++++++++++++++++++-------------------------
>> src/esx/esx_private.h | 4 +-
>> 2 files changed, 52 insertions(+), 55 deletions(-)
>
> ACK; looks like a relatively straightforward refactor, followed by lots
> of renaming fallout.
Thanks, pushed.
Matthias
>> @@ -1070,14 +1072,9 @@ esxClose(virConnectPtr conn)
>> esxVI_Logout(priv->vCenter) < 0) {
>> result = -1;
>> }
>> -
>> - esxVI_Context_Free(&priv->vCenter);
>> }
>>
>> - virCapabilitiesFree(priv->caps);
>> -
>> - VIR_FREE(priv->transport);
>> - VIR_FREE(priv);
>> + esxFreePrivate(&priv);
>>
>> conn->privateData = NULL;
>
> Is this line now redundant, since priv was initialized as
> conn->privateData, and esxFreePrivate(&priv) guarantees that priv will
> be reassigned to NULL?
Freeing priv frees the private data struct instance and sets priv to
NULL, but priv doesn't reference conn->privateData, it only points to
the same memory as it. Therefore, conn->privateData is a stale pointer
now and hast to be set to NULL manually.
Matthias
More information about the libvir-list
mailing list