[gimp/gimp-2-10] app: fix gimp_wait() deadlock



commit 397bbb29a900ff3fadf41b78b476cffb1bd065e7
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.
    
    (cherry picked from commit 85b16b9eaa954d4b759b5c07511b9af969188954)

 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 fdf3220032..ab09d5831c 100644
--- a/app/gui/gui-vtable.c
+++ b/app/gui/gui-vtable.c
@@ -468,6 +468,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]