[Spice-devel] [PATCH spice-server v3 30/32] replay: Port to Windows

Frediano Ziglio fziglio at redhat.com
Mon Jan 7 18:02:13 UTC 2019


Client process termination did not work for Windows, used Win32
APIs.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
 server/tests/replay.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/server/tests/replay.c b/server/tests/replay.c
index b88c03c7..6367ce21 100644
--- a/server/tests/replay.c
+++ b/server/tests/replay.c
@@ -210,15 +210,22 @@ static int req_display_notification(QXLInstance *qin)
 
 static void end_replay(void)
 {
-    int child_status;
-
     /* FIXME: wait threads and end cleanly */
     spice_replay_free(replay);
 
     if (client_pid) {
         g_debug("kill %" G_PID_FORMAT, client_pid);
+#ifndef _WIN32
+        int child_status;
+
         kill(client_pid, SIGINT);
         waitpid(client_pid, &child_status, 0);
+#else
+        TerminateProcess(client_pid, 0);
+        WaitForSingleObject(client_pid, INFINITE);
+#endif
+        g_spawn_close_pid(client_pid);
+        client_pid = 0;
     }
 }
 
-- 
2.20.1



More information about the Spice-devel mailing list