From: Stefan Behnel Date: Mon, 27 Dec 2010 08:36:10 +0000 (+0100) Subject: fix for the #633 fix: cannot create owned reference in nogil sections X-Git-Tag: 0.14.1rc0~13^2~6 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=30504bdb9388cbca877f228b50b83af35de8b8e4;p=cython.git fix for the #633 fix: cannot create owned reference in nogil sections --- diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py index 8aead92c..38ab6813 100755 --- a/Cython/Compiler/ExprNodes.py +++ b/Cython/Compiler/ExprNodes.py @@ -2954,7 +2954,7 @@ class SimpleCallNode(CallNode): for i in range(min(max_nargs, actual_nargs)): formal_type = func_type.args[i].type arg = self.args[i].coerce_to(formal_type, env) - if arg.is_attribute or not arg.is_simple: + if not env.nogil and (arg.is_attribute or not arg.is_simple): # we do not own the argument's reference, but we must # make sure it cannot be collected before we return # from the function, so we create an owned temp