From 8b151209ea4975a53b29d87491f8eca878b051b0 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Wed, 31 May 2017 16:58:49 +0200 Subject: [PATCH] remote: Consolidate remoteStream{Abort,Finish} functions 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 --- src/remote/remote_driver.c | 41 ++++++++++---------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index d27e96ffc2..9c3ec2c87e 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -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); @@ -5880,38 +5880,17 @@ remoteStreamFinish(virStreamPtr st) } +static int +remoteStreamFinish(virStreamPtr st) +{ + return remoteStreamCloseInt(st, false); +} + + static int remoteStreamAbort(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--; - - cleanup: - virNetClientRemoveStream(priv->client, privst); - virObjectUnref(privst); - st->privateData = NULL; - st->driver = NULL; - - remoteDriverUnlock(priv); - return ret; + return remoteStreamCloseInt(st, true); }