[Spice-devel] [PATCH spice-gtk v2] vmcstream: set the right result for the task
Christophe Fergeau
cfergeau at redhat.com
Wed Jul 27 10:39:36 UTC 2016
On Wed, Jul 27, 2016 at 11:17:38AM +0200, Fabiano FidĂȘncio wrote:
> This bogus code was introduced when switching to GTask API. Seems that
> while writing those patches I just overlooked this part and set the wrong
> result for the task. As part of the problems introduced (and now fixed)
> you can notice that no output stream was being sent to the guest.
>
> Signed-off-by: Fabiano FidĂȘncio <fidencio at redhat.com>
> ---
> src/vmcstream.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/vmcstream.c b/src/vmcstream.c
> index c536f71..ffb1ba4 100644
> --- a/src/vmcstream.c
> +++ b/src/vmcstream.c
> @@ -411,7 +411,7 @@ write_cb(GObject *source_object,
> {
> GTask *task = user_data;
>
> - g_task_return_pointer(task, g_object_ref(task), g_object_unref);
> + g_task_return_pointer(task, g_object_ref(res), g_object_unref);
>
> g_object_unref(task);
> }
You'll also need
diff --git a/src/vmcstream.c b/src/vmcstream.c
index c536f71..32d8b5e 100644
--- a/src/vmcstream.c
+++ b/src/vmcstream.c
@@ -399,9 +399,13 @@ spice_vmc_output_stream_write_finish(GOutputStream *stream,
{
SpiceVmcOutputStream *self = SPICE_VMC_OUTPUT_STREAM(stream);
GAsyncResult *res = g_task_propagate_pointer(G_TASK(simple), error);
+ gssize bytes_written;
SPICE_DEBUG("spicevmc write finish");
- return spice_vmc_write_finish(self->channel, res, error);
+ bytes_written = spice_vmc_write_finish(self->channel, res, error);
+ g_object_unref(res);
+
+ return bytes_written;
}
static void
(but this is arguably a slightly different bug which was already existing
before your change).
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160727/1de262ab/attachment.sig>
More information about the Spice-devel
mailing list