[gegl/soc-2012-ops] buffer: gegl_tile_void() comment to explain why pyramid invalidation is b0rk



commit 330bac4a7b1153d16827dee408bf609b1b4874a3
Author: Michael Natterer <mitch gimp org>
Date:   Tue Jul 3 13:28:22 2012 +0200

    buffer: gegl_tile_void() comment to explain why pyramid invalidation is b0rk

 gegl/buffer/gegl-tile.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/gegl/buffer/gegl-tile.c b/gegl/buffer/gegl-tile.c
index e80434a..60285fe 100644
--- a/gegl/buffer/gegl-tile.c
+++ b/gegl/buffer/gegl-tile.c
@@ -299,8 +299,14 @@ void
 gegl_tile_void (GeglTile *tile)
 {
   gegl_tile_mark_as_stored (tile);
+
+  /* XXX FIXME this causes void_pyramid to do nothing, but is needed
+   * to avoid a deadlock in gegl_tile_handler_cache_void() which calls
+   * gegl_tile_void() while holding the cache mutex
+   */
   tile->tile_storage = NULL;
-  if (tile->z==0)
+
+  if (tile->z == 0)
     gegl_tile_void_pyramid (tile);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]