Rev 1542: Fix bug reacquiring GIL too late. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk

Jelmer Vernooij jelmer at samba.org
Sun Aug 3 00:41:22 BST 2008


At http://people.samba.org/bzr/jelmer/bzr-svn/trunk

------------------------------------------------------------
revno: 1542
revision-id: jelmer at samba.org-20080802234120-jth9l6qbh7br1dlw
parent: jelmer at samba.org-20080802232823-czbuj7b01av6e21w
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Sun 2008-08-03 01:41:20 +0200
message:
  Fix bug reacquiring GIL too late.
modified:
  wc.c                           wc.pyx-20080313142018-10l8l23vha2j9e6b-1
=== modified file 'wc.c'
--- a/wc.c	2008-08-01 20:55:49 +0000
+++ b/wc.c	2008-08-02 23:41:20 +0000
@@ -254,6 +254,7 @@
 	int depth=0;
 	PyObject *cancel_func=Py_None;
 	svn_wc_adm_access_t *parent_wc;
+	svn_error_t *err;
 	AdmObject *ret;
 	char *kwnames[] = { "associated", "path", "write_lock", "depth", "cancel_func", NULL };
 
@@ -273,14 +274,14 @@
 		parent_wc = ((AdmObject *)associated)->adm;
 	}
 	Py_BEGIN_ALLOW_THREADS
-	if (!check_error(svn_wc_adm_open3(&ret->adm, parent_wc, path, 
+	err = svn_wc_adm_open3(&ret->adm, parent_wc, path, 
 					 write_lock, depth, py_cancel_func, cancel_func, 
-					 ret->pool))) {
-		PyEval_RestoreThread(_save);
+					 ret->pool);
+	Py_END_ALLOW_THREADS
+	
+	if (!check_error(err)) {
 		return NULL;
 	}
-	Py_END_ALLOW_THREADS
-
 
 	return (PyObject *)ret;
 }




More information about the bazaar-commits mailing list