[gegl] buffer: disable gegl_buffer_lock / gegl_buffer_unlock
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] buffer: disable gegl_buffer_lock / gegl_buffer_unlock
- Date: Fri, 20 Jun 2014 07:30:19 +0000 (UTC)
commit d0be9b7cba271a496e5873be9762760543e70266
Author: Øyvind Kolås <pippin gimp org>
Date: Fri Jun 20 04:33:41 2014 +0200
buffer: disable gegl_buffer_lock / gegl_buffer_unlock
Without threading; the locking is just function call overhead.
gegl/buffer/gegl-buffer-private.h | 8 ++++++++
gegl/buffer/gegl-buffer.c | 2 ++
2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-private.h b/gegl/buffer/gegl-buffer-private.h
index d51394d..b056f56 100644
--- a/gegl/buffer/gegl-buffer-private.h
+++ b/gegl/buffer/gegl-buffer-private.h
@@ -100,9 +100,17 @@ GeglTileBackend * gegl_buffer_backend2 (GeglBuffer *buffer); /* non-cached */
gboolean gegl_buffer_is_shared (GeglBuffer *buffer);
+#define GEGL_BUFFER_DISABLE_LOCKS 1
+
+#ifdef GEGL_BUFFER_DISABLE_LOCKS
+#define gegl_buffer_try_lock(a) (TRUE)
+#define gegl_buffer_lock(a) do{}while(0)
+#define gegl_buffer_unlock(a) do{}while(0)
+#else
gboolean gegl_buffer_try_lock (GeglBuffer *buffer);
gboolean gegl_buffer_lock (GeglBuffer *buffer);
gboolean gegl_buffer_unlock (GeglBuffer *buffer);
+#endif
void gegl_buffer_set_unlocked (GeglBuffer *buffer,
const GeglRectangle *rect,
diff --git a/gegl/buffer/gegl-buffer.c b/gegl/buffer/gegl-buffer.c
index 5a3db18..601c6ee 100644
--- a/gegl/buffer/gegl-buffer.c
+++ b/gegl/buffer/gegl-buffer.c
@@ -1098,6 +1098,7 @@ gegl_buffer_is_shared (GeglBuffer *buffer)
return backend->priv->shared;
}
+#ifndef GEGL_BUFFER_DISABLE_LOCKS
gboolean
gegl_buffer_try_lock (GeglBuffer *buffer)
{
@@ -1154,6 +1155,7 @@ gegl_buffer_unlock (GeglBuffer *buffer)
return ret;
}
+#endif
void
gegl_buffer_emit_changed_signal (GeglBuffer *buffer,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]