[Spice-devel] [PATCH spice-gtk] usbredir: Don'y directly use g_mutex_foo()

Christophe Fergeau cfergeau at redhat.com
Wed Jan 4 01:21:01 PST 2012


On Wed, Jan 04, 2012 at 10:16:14AM +0100, Hans de Goede wrote:
> In glib <= 2.30 g_mutex_foo() are macro's so dereferencing them directly
> does not work.

This fixes compilation for me, so ACK with "Don'y" changed to "Don't" in
the subject.

Christophe

> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  gtk/channel-usbredir.c |   36 ++++++++++++++++++++++++++++++++----
>  1 files changed, 32 insertions(+), 4 deletions(-)
> 
> diff --git a/gtk/channel-usbredir.c b/gtk/channel-usbredir.c
> index bc1356a..5f0f409 100644
> --- a/gtk/channel-usbredir.c
> +++ b/gtk/channel-usbredir.c
> @@ -87,6 +87,12 @@ static void usbredir_log(void *user_data, int level, const char *msg);
>  static int usbredir_read_callback(void *user_data, uint8_t *data, int count);
>  static int usbredir_write_callback(void *user_data, uint8_t *data, int count);
>  static void usbredir_write_flush_callback(void *user_data);
> +
> +static void *usbredir_alloc_lock(void);
> +static void usbredir_lock_lock(void *user_data);
> +static void usbredir_unlock_lock(void *user_data);
> +static void usbredir_free_lock(void *user_data);
> +
>  #endif
>  
>  G_DEFINE_TYPE(SpiceUsbredirChannel, spice_usbredir_channel, SPICE_TYPE_CHANNEL)
> @@ -190,10 +196,10 @@ static gboolean spice_usbredir_channel_open_device(
>                                     usbredir_read_callback,
>                                     usbredir_write_callback,
>                                     usbredir_write_flush_callback,
> -                                   (usbredirparser_alloc_lock)g_mutex_new,
> -                                   (usbredirparser_lock)g_mutex_lock,
> -                                   (usbredirparser_unlock)g_mutex_unlock,
> -                                   (usbredirparser_free_lock)g_mutex_free,
> +                                   usbredir_alloc_lock,
> +                                   usbredir_lock_lock,
> +                                   usbredir_unlock_lock,
> +                                   usbredir_free_lock,
>                                     channel, PACKAGE_STRING,
>                                     spice_util_get_debug() ? usbredirparser_debug : usbredirparser_warning,
>                                     usbredirhost_fl_write_cb_owns_buffer);
> @@ -458,6 +464,28 @@ static int usbredir_write_callback(void *user_data, uint8_t *data, int count)
>      return count;
>  }
>  
> +static void *usbredir_alloc_lock(void) {
> +    return g_mutex_new();
> +}
> +
> +static void usbredir_lock_lock(void *user_data) {
> +    GMutex *mutex = user_data;
> +
> +    g_mutex_lock(mutex);
> +}
> +
> +static void usbredir_unlock_lock(void *user_data) {
> +    GMutex *mutex = user_data;
> +
> +    g_mutex_unlock(mutex);
> +}
> +
> +static void usbredir_free_lock(void *user_data) {
> +    GMutex *mutex = user_data;
> +
> +    g_mutex_free(mutex);
> +}
> +
>  /* --------------------------------------------------------------------- */
>  /* coroutine context                                                     */
>  static void spice_usbredir_handle_msg(SpiceChannel *c, SpiceMsgIn *msg)
> -- 
> 1.7.7.4
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120104/1b0081a0/attachment.pgp>


More information about the Spice-devel mailing list