[gegl/swap-backend: 2/4] buffer: only attempt cleaning up TileBackendSwap things if they were actually used
- From: Ville Sokk <villesokk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl/swap-backend: 2/4] buffer: only attempt cleaning up TileBackendSwap things if they were actually used
- Date: Fri, 15 Feb 2013 19:46:07 +0000 (UTC)
commit d546f9bee668101801cdb61d7530385b69fd28e9
Author: Ville Sokk <ville sokk gmail com>
Date: Sat Oct 13 21:34:16 2012 +0300
buffer: only attempt cleaning up TileBackendSwap things if they were actually used
gegl/buffer/gegl-tile-backend-swap.c | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 deletions(-)
---
diff --git a/gegl/buffer/gegl-tile-backend-swap.c b/gegl/buffer/gegl-tile-backend-swap.c
index dc21588..e1fbef1 100644
--- a/gegl/buffer/gegl-tile-backend-swap.c
+++ b/gegl/buffer/gegl-tile-backend-swap.c
@@ -867,17 +867,23 @@ gegl_tile_backend_swap_class_init (GeglTileBackendSwapClass *klass)
void
gegl_tile_backend_swap_cleanup (void)
{
- exit_thread = TRUE;
- g_cond_signal (queue_cond);
- g_thread_join (writer_thread);
+ if (in_fd != -1 && out_fd != -1)
+ {
+ exit_thread = TRUE;
+ g_cond_signal (queue_cond);
+ g_thread_join (writer_thread);
- if (g_queue_get_length (queue) != 0)
- g_warning ("tile-backend-swap writer queue wasn't empty before freeing\n");
+ if (g_queue_get_length (queue) != 0)
+ g_warning ("tile-backend-swap writer queue wasn't empty before freeing\n");
- g_queue_free (queue);
- g_cond_free (queue_cond);
- g_cond_free (max_cond);
- g_mutex_free (mutex);
+ g_queue_free (queue);
+ g_cond_free (queue_cond);
+ g_cond_free (max_cond);
+ g_mutex_free (mutex);
+
+ close (in_fd);
+ close (out_fd);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]