mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
network: add virNetworkPortRef API
Normal practice is to provide a Ref API for all objects, but this was forgotten for the virNetworkPortPtr object. Reviewed-by: Ján Tomko <jtomko@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
ed16d81d6a
commit
7c570f06bd
@ -455,4 +455,7 @@ virNetworkListAllPorts(virNetworkPtr network,
|
|||||||
int
|
int
|
||||||
virNetworkPortFree(virNetworkPortPtr port);
|
virNetworkPortFree(virNetworkPortPtr port);
|
||||||
|
|
||||||
|
int
|
||||||
|
virNetworkPortRef(virNetworkPortPtr port);
|
||||||
|
|
||||||
#endif /* LIBVIRT_NETWORK_H */
|
#endif /* LIBVIRT_NETWORK_H */
|
||||||
|
@ -1690,3 +1690,35 @@ virNetworkPortFree(virNetworkPortPtr port)
|
|||||||
virObjectUnref(port);
|
virObjectUnref(port);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* virNetworkPortRef:
|
||||||
|
* @port: a network port object
|
||||||
|
*
|
||||||
|
* Increment the reference count on the network port. For each
|
||||||
|
* additional call to this method, there shall be a corresponding
|
||||||
|
* call to virNetworkPortFree to release the reference count, once
|
||||||
|
* the caller no longer needs the reference to this object.
|
||||||
|
*
|
||||||
|
* This method is typically useful for applications where multiple
|
||||||
|
* threads are using a network port, and it is required that the
|
||||||
|
* port remain resident until all threads have finished using
|
||||||
|
* it. ie, each new thread using a network port would increment
|
||||||
|
* the reference count.
|
||||||
|
*
|
||||||
|
* Returns 0 in case of success, -1 in case of failure.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
virNetworkPortRef(virNetworkPortPtr port)
|
||||||
|
{
|
||||||
|
VIR_DEBUG("port=%p refs=%d", port,
|
||||||
|
port ? port->parent.u.s.refs : 0);
|
||||||
|
|
||||||
|
virResetLastError();
|
||||||
|
|
||||||
|
virCheckNetworkPortReturn(port, -1);
|
||||||
|
|
||||||
|
virObjectRef(port);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -831,6 +831,7 @@ LIBVIRT_5.5.0 {
|
|||||||
virNetworkPortGetUUIDString;
|
virNetworkPortGetUUIDString;
|
||||||
virNetworkPortDelete;
|
virNetworkPortDelete;
|
||||||
virNetworkPortFree;
|
virNetworkPortFree;
|
||||||
|
virNetworkPortRef;
|
||||||
virNetworkPortSetParameters;
|
virNetworkPortSetParameters;
|
||||||
} LIBVIRT_5.2.0;
|
} LIBVIRT_5.2.0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user