/* When a number of calls to _cairo_cache_thaw() is made corresponding to the number of calls to _cairo_cache_freeze() the cache will no longer be "frozen". If the cache had grown larger than max_size while frozen, entries will immediately be ejected (by random) from the cache until the cache is smaller than max_size. Also, the automatic ejection of entries on _cairo_cache_insert() will resume.  */
void _cairo_cache_thaw(cairo_cache_t *cache)
/* When a number of calls to _cairo_cache_thaw() is made corresponding to the number of calls to _cairo_cache_freeze() the cache will no longer be "frozen". If the cache had grown larger than max_size while frozen, entries will immediately be ejected (by random) from the cache until the cache is smaller than max_size. Also, the automatic ejection of entries on _cairo_cache_insert() will resume.  */
void _cairo_cache_thaw(cairo_cache_t *cache)
{
    assert (cache->freeze_count > 0);
    if (--cache->freeze_count == 0)
	_cairo_cache_shrink_to_accommodate (cache, 0);
}