[gimp] app: fix gimp_wait() deadlock



commit 85b16b9eaa954d4b759b5c07511b9af969188954
Author: Ell <ell_se yahoo com>
Date:   Thu Oct 11 02:20:38 2018 -0400

    app: fix gimp_wait() deadlock
    
    In the GUI implementation of gimp_wait(), explicitly finish the
    input-pipe async operation after the busy-dialog plug-in
    terminates, to avoid the async callback function from being
    repeatedly called, stalling the main thread.  Previously, this code
    relied on gimp-parallel implicitly aborting the async operation,
    but this is no longer the case since commit
    4969d757850d62e72e88517421092f5ce126308f.

 app/gui/gui-vtable.c | 2 ++
 1 file changed, 2 insertions(+)
---
diff --git a/app/gui/gui-vtable.c b/app/gui/gui-vtable.c
index b21d922505..f7e0a7adf3 100644
--- a/app/gui/gui-vtable.c
+++ b/app/gui/gui-vtable.c
@@ -475,6 +475,8 @@ gui_wait_input_async (GimpAsync  *async,
 
   while (read (input_pipe[0], buffer, sizeof (buffer)) == -1 &&
          errno == EINTR);
+
+  gimp_async_finish (async, NULL);
 }
 
 static gboolean


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