]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
remote: Consolidate remoteStream{Abort,Finish} functions
authorMartin Kletzander <mkletzan@redhat.com>
Wed, 31 May 2017 14:58:49 +0000 (16:58 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Mon, 5 Jun 2017 13:19:26 +0000 (15:19 +0200)
They do the same thing with only one difference.  Let's put them
together (like we already do with virFDStreamCloseInt) so that future
changes don't miss one of the implementations.  Also to clean up the
code.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/remote/remote_driver.c

index d27e96ffc2b71a3d2bd169c46b22077c3d227650..9c3ec2c87e7e0ad4d72232d0346dd3c7f0fe1d75 100644 (file)
@@ -5846,7 +5846,7 @@ remoteStreamEventRemoveCallback(virStreamPtr st)
 
 
 static int
-remoteStreamFinish(virStreamPtr st)
+remoteStreamCloseInt(virStreamPtr st, bool streamAbort)
 {
     struct private_data *priv = st->conn->privateData;
     virNetClientStreamPtr privst = st->privateData;
@@ -5862,7 +5862,7 @@ remoteStreamFinish(virStreamPtr st)
 
     ret = virNetClientStreamSendPacket(privst,
                                        priv->client,
-                                       VIR_NET_OK,
+                                       streamAbort ? VIR_NET_ERROR : VIR_NET_OK,
                                        NULL,
                                        0);
 
@@ -5881,37 +5881,16 @@ remoteStreamFinish(virStreamPtr st)
 
 
 static int
-remoteStreamAbort(virStreamPtr st)
+remoteStreamFinish(virStreamPtr st)
 {
-    struct private_data *priv = st->conn->privateData;
-    virNetClientStreamPtr privst = st->privateData;
-    int ret = -1;
-
-    remoteDriverLock(priv);
-
-    if (virNetClientStreamRaiseError(privst))
-        goto cleanup;
-
-    priv->localUses++;
-    remoteDriverUnlock(priv);
-
-    ret = virNetClientStreamSendPacket(privst,
-                                       priv->client,
-                                       VIR_NET_ERROR,
-                                       NULL,
-                                       0);
-
-    remoteDriverLock(priv);
-    priv->localUses--;
+    return remoteStreamCloseInt(st, false);
+}
 
- cleanup:
-    virNetClientRemoveStream(priv->client, privst);
-    virObjectUnref(privst);
-    st->privateData = NULL;
-    st->driver = NULL;
 
-    remoteDriverUnlock(priv);
-    return ret;
+static int
+remoteStreamAbort(virStreamPtr st)
+{
+    return remoteStreamCloseInt(st, true);
 }