[libvirt] [PATCH 3/5] Add callback to virNetClient to be invoked on connection close

Eric Blake eblake at redhat.com
Thu Jul 19 17:57:17 UTC 2012


On 07/19/2012 09:04 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> Allow detection of socket close in virNetClient via an callback
> function, triggered on any condition that causes the socket to
> be close.
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---

> @@ -463,6 +480,9 @@ void virNetClientFree(virNetClientPtr client)
>          return;
>      }
>  
> +    if (client->closeFf && client->closeOpaque)
> +        client->closeFf(client->closeOpaque);

Again, you should not be forcing closeOpaque to be non-NULL.  It's
opaque, after all.

> @@ -534,7 +561,7 @@ virNetClientCloseLocked(virNetClientPtr client)
>  static void virNetClientCloseInternal(virNetClientPtr client,
>                                        int reason)
>  {
> -    VIR_DEBUG("client=%p", client);
> +    VIR_DEBUG("client=%p wantclose=%d", client, client ? client->wantClose : false);

Passing 'false' to %d looks odd, but works.  If, per my 2/5 comments,
you merge wantClose into closeReason, then you'd have an int instead of
a bool to print here.

ACK, once you fix the non-NULL opaque limitation.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120719/55883c83/attachment-0001.sig>


More information about the libvir-list mailing list