tbm_surface_queue_free_flush(tbm_surface_queue_h surface_queue)
{
queue_node *node = NULL;
+ int is_guarantee_cycle = 0;
_tbm_surf_queue_mutex_lock();
_tbm_set_last_result(TBM_ERROR_NONE);
/* Reset queue */
_queue_init(&surface_queue->free_queue);
+ if (surface_queue->modes & TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE)
+ is_guarantee_cycle = 1;
+
pthread_mutex_unlock(&surface_queue->lock);
_tbm_surf_queue_mutex_unlock();
+ if (is_guarantee_cycle)
+ _notify_emit(surface_queue, &surface_queue->reset_noti);
+
return TBM_SURFACE_QUEUE_ERROR_NONE;
}