[PATCH spice-gtk] file-transfer-task: emit signals in main context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Some parts of the internal file transfer task API
can be invoked in the coroutine context, so in these cases
use g_coroutine_signal_emit and g_coroutine_object_notify.

Signed-off-by: Jakub Janků <jjanku@xxxxxxxxxx>
---
 src/spice-file-transfer-task.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/spice-file-transfer-task.c b/src/spice-file-transfer-task.c
index d0170da..90f31db 100644
--- a/src/spice-file-transfer-task.c
+++ b/src/spice-file-transfer-task.c
@@ -327,7 +327,7 @@ void spice_file_transfer_task_completed(SpiceFileTransferTask *self,
                                self);
     self->pending = TRUE;
 signal:
-    g_signal_emit(self, task_signals[SIGNAL_FINISHED], 0, self->error);
+    g_coroutine_signal_emit(self, task_signals[SIGNAL_FINISHED], 0, self->error);
     /* SpiceFileTransferTask unref is done after input stream is closed */
 }
 
@@ -433,8 +433,8 @@ void spice_file_transfer_task_read_async(SpiceFileTransferTask *self,
     /* Notify the progress prior the read to make the info be related to the
      * data that was already sent. To notify the 100% (completed), channel-main
      * should call read-async when it expects EOF. */
-    g_object_notify(G_OBJECT(self), "progress");
-    g_object_notify(G_OBJECT(self), "transferred-bytes");
+    g_coroutine_object_notify(G_OBJECT(self), "progress");
+    g_coroutine_object_notify(G_OBJECT(self), "transferred-bytes");
 
     task = g_task_new(self, self->cancellable, callback, userdata);
 
-- 
2.21.0

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]