提交 7c570f06 编写于 作者: D Daniel P. Berrangé

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: NJán Tomko <jtomko@redhat.com>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 ed16d81d
......@@ -455,4 +455,7 @@ virNetworkListAllPorts(virNetworkPtr network,
int
virNetworkPortFree(virNetworkPortPtr port);
int
virNetworkPortRef(virNetworkPortPtr port);
#endif /* LIBVIRT_NETWORK_H */
......@@ -1690,3 +1690,35 @@ virNetworkPortFree(virNetworkPortPtr port)
virObjectUnref(port);
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;
virNetworkPortDelete;
virNetworkPortFree;
virNetworkPortRef;
virNetworkPortSetParameters;
} LIBVIRT_5.2.0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册