[Spice-devel] [PATCH 14/18] worker: move dcc_freeze_glz
Frediano Ziglio
fziglio at redhat.com
Fri Nov 20 02:29:44 PST 2015
>
> On Wed, Nov 18, 2015 at 5:17 PM, Frediano Ziglio <fziglio at redhat.com> wrote:
> > From: Marc-André Lureau <marcandre.lureau at gmail.com>
> >
> > ---
> > 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 at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
> ACK!
>
> --
> Fabiano FidĂȘncio
>
Merged
Frediano
More information about the Spice-devel
mailing list