From: Marc-André Lureau <marcandre.lureau@xxxxxxxxx> --- server/dcc-encoders.c | 9 +++++++++ server/dcc-encoders.h | 1 + server/red_worker.c | 12 +----------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/server/dcc-encoders.c b/server/dcc-encoders.c index 385b6b6..6cdac9d 100644 --- a/server/dcc-encoders.c +++ b/server/dcc-encoders.c @@ -544,3 +544,12 @@ void dcc_free_glz_drawables(DisplayChannelClient *dcc) } pthread_rwlock_unlock(&glz_dict->encode_lock); } + +void dcc_freeze_glz(DisplayChannelClient *dcc) +{ + pthread_rwlock_wrlock(&dcc->glz_dict->encode_lock); + if (!dcc->glz_dict->migrate_freeze) { + dcc->glz_dict->migrate_freeze = TRUE; + } + pthread_rwlock_unlock(&dcc->glz_dict->encode_lock); +} diff --git a/server/dcc-encoders.h b/server/dcc-encoders.h index dd3d528..2c01ba4 100644 --- a/server/dcc-encoders.h +++ b/server/dcc-encoders.h @@ -44,6 +44,7 @@ void dcc_free_glz_drawable (DisplayChannelClie RedGlzDrawable *drawable); void dcc_free_glz_drawables (DisplayChannelClient *dcc); void dcc_free_glz_drawables_to_free (DisplayChannelClient* dcc); +void dcc_freeze_glz (DisplayChannelClient *dcc); void marshaller_add_compressed (SpiceMarshaller *m, RedCompressBuf *comp_buf, diff --git a/server/red_worker.c b/server/red_worker.c index 19d8f43..1c54d51 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -183,7 +183,6 @@ static void red_update_area_till(DisplayChannel *display, const SpiceRect *area, Drawable *last); static inline void display_begin_send_message(RedChannelClient *rcc); static void dcc_release_glz(DisplayChannelClient *dcc); -static void red_freeze_glz(DisplayChannelClient *dcc); static void display_channel_push_release(DisplayChannelClient *dcc, uint8_t type, uint64_t id, uint64_t* sync_data); static int red_display_free_some_independent_glz_drawables(DisplayChannelClient *dcc); @@ -4067,7 +4066,7 @@ static void display_channel_marshall_migrate_data(RedChannelClient *rcc, sizeof(display_data.pixmap_cache_clients)); spice_assert(dcc->glz_dict); - red_freeze_glz(dcc); + dcc_freeze_glz(dcc); display_data.glz_dict_id = dcc->glz_dict->id; glz_enc_dictionary_get_restore_data(dcc->glz_dict->dict, &display_data.glz_dict_data, @@ -4992,15 +4991,6 @@ static GlzSharedDictionary *red_restore_glz_dictionary(DisplayChannelClient *dcc return shared_dict; } -static void red_freeze_glz(DisplayChannelClient *dcc) -{ - pthread_rwlock_wrlock(&dcc->glz_dict->encode_lock); - if (!dcc->glz_dict->migrate_freeze) { - dcc->glz_dict->migrate_freeze = TRUE; - } - pthread_rwlock_unlock(&dcc->glz_dict->encode_lock); -} - /* destroy encoder, and dictionary if no one uses it*/ static void dcc_release_glz(DisplayChannelClient *dcc) { -- 2.4.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel