From 0726ce6d6f52e135e28f15ca8392568c84909b1d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 16 Jun 2018 16:21:39 -0700
Subject: [PATCH] Convert pthread_t to be numeric

typecast pthread_t to unsigned long
pthread_t is implemented as a struct point in musl and its as per standard

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending

 server/red-channel.c | 5 +++--
 server/red-client.c  | 6 +++---
 2 files changed, 6 insertions(+), 5 deletions(-)

--- a/server/red-channel.c
+++ b/server/red-channel.c
@@ -204,7 +204,7 @@ red_channel_constructed(GObject *object)
 {
     RedChannel *self = RED_CHANNEL(object);
 
-    red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", self->priv->thread_id);
+    red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
 
     RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
 
@@ -479,7 +479,8 @@ void red_channel_remove_client(RedChanne
                             "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
                             "If one of the threads is != io-thread && != vcpu-thread, "
                             "this might be a BUG",
-                            channel->priv->thread_id, pthread_self());
+                            (unsigned long)channel->priv->thread_id,
+                            (unsigned long)pthread_self());
     }
     spice_return_if_fail(channel);
     link = g_list_find(channel->priv->clients, rcc);
--- a/server/red-client.c
+++ b/server/red-client.c
@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *clien
                       "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
                       "If one of the threads is != io-thread && != vcpu-thread,"
                       " this might be a BUG",
-                      client->thread_id, pthread_self());
+                      (unsigned long)client->thread_id, (unsigned long)pthread_self());
     }
     FOREACH_CHANNEL_CLIENT(client, rcc) {
         if (red_channel_client_is_connected(rcc)) {
@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *clien
                       "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
                       "If one of the threads is != io-thread && != vcpu-thread,"
                       " this might be a BUG",
-                      client->thread_id,
-                      pthread_self());
+                      (unsigned long)client->thread_id,
+                      (unsigned long)pthread_self());
     }
     red_client_set_disconnecting(client);
     FOREACH_CHANNEL_CLIENT(client, rcc) {
