[pygobject] pygi-closure: Protect the GSList prepend with the GIL



commit e9c578c1d47375cb2249ccdd86873faad04b89e1
Author: Olivier CrĂȘte <olivier crete collabora com>
Date:   Fri Sep 14 21:29:53 2012 -0400

    pygi-closure: Protect the GSList prepend with the GIL
    
    Signed-off-by: Simon Feltman <sfeltman src gnome org>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=684060

 gi/pygi-closure.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gi/pygi-closure.c b/gi/pygi-closure.c
index 43f41d2..aa9cb78 100644
--- a/gi/pygi-closure.c
+++ b/gi/pygi-closure.c
@@ -508,8 +508,6 @@ _pygi_closure_handle (ffi_cif *cif,
 end:
     g_free (out_args);
 
-    PyGILState_Release (state);
-
     /* Now that the closure has finished we can make a decision about how
        to free it.  Scope call gets free'd at the end of wrap_g_function_info_invoke.
        Scope notified will be freed when the notify is called.
@@ -532,6 +530,8 @@ end:
             g_error ("Invalid scope reached inside %s.  Possibly a bad annotation?",
                      g_base_info_get_name (closure->info));
     }
+
+    PyGILState_Release (state);
 }
 
 void _pygi_invoke_closure_free (gpointer data)


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