[gegl] buffer: add gegl_tile_handler_[un]lock()



commit 9c164b1e2ab57816bf71bc449b95aa29b7bc4276
Author: Ell <ell_se yahoo com>
Date:   Tue Jul 30 19:51:18 2019 +0300

    buffer: add gegl_tile_handler_[un]lock()
    
    ... which locks/unlocks the tile-storage mutex corresponding to the
    tile handler.

 gegl/buffer/gegl-tile-handler.c | 18 ++++++++++++++++++
 gegl/buffer/gegl-tile-handler.h |  3 +++
 2 files changed, 21 insertions(+)
---
diff --git a/gegl/buffer/gegl-tile-handler.c b/gegl/buffer/gegl-tile-handler.c
index 2c2f3b38f..621f6d94c 100644
--- a/gegl/buffer/gegl-tile-handler.c
+++ b/gegl/buffer/gegl-tile-handler.c
@@ -446,3 +446,21 @@ gegl_tile_handler_damage_rect (GeglTileHandler     *handler,
 
   g_rec_mutex_unlock (&handler->priv->tile_storage->mutex);
 }
+
+void
+gegl_tile_handler_lock (GeglTileHandler *handler)
+{
+  g_return_if_fail (GEGL_IS_TILE_HANDLER (handler));
+
+  if (handler->priv->tile_storage)
+    g_rec_mutex_lock (&handler->priv->tile_storage->mutex);
+}
+
+void
+gegl_tile_handler_unlock (GeglTileHandler *handler)
+{
+  g_return_if_fail (GEGL_IS_TILE_HANDLER (handler));
+
+  if (handler->priv->tile_storage)
+    g_rec_mutex_unlock (&handler->priv->tile_storage->mutex);
+}
diff --git a/gegl/buffer/gegl-tile-handler.h b/gegl/buffer/gegl-tile-handler.h
index 87579849d..a5a31d431 100644
--- a/gegl/buffer/gegl-tile-handler.h
+++ b/gegl/buffer/gegl-tile-handler.h
@@ -152,6 +152,9 @@ void       gegl_tile_handler_damage_tile (GeglTileHandler     *handler,
 void       gegl_tile_handler_damage_rect (GeglTileHandler     *handler,
                                           const GeglRectangle *rect);
 
+void       gegl_tile_handler_lock        (GeglTileHandler *handler);
+void       gegl_tile_handler_unlock      (GeglTileHandler *handler);
+
 G_END_DECLS
 
 #endif


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