[ 
https://issues.apache.org/jira/browse/ARROW-2052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16346437#comment-16346437
 ] 

ASF GitHub Bot commented on ARROW-2052:
---------------------------------------

pitrou commented on issue #1534: ARROW-2052: [C++ / Python] Rework OwnedRef, 
remove ScopedRef
URL: https://github.com/apache/arrow/pull/1534#issuecomment-361861046
 
 
   > Is it correct to say that now callers must be more careful about acquiring 
the GIL before making calls into the Python C API (assuming use of OwnedRef)?
   
   The GIL rules for OwnedRef are now the same as they were for ScopedRef. If 
you're not sure the GIL will remain held at the right times, you can use 
OwnedRefNoGIL instead.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Unify OwnedRef and ScopedRef
> ----------------------------
>
>                 Key: ARROW-2052
>                 URL: https://issues.apache.org/jira/browse/ARROW-2052
>             Project: Apache Arrow
>          Issue Type: Task
>          Components: Python
>    Affects Versions: 0.8.0
>            Reporter: Antoine Pitrou
>            Assignee: Antoine Pitrou
>            Priority: Trivial
>              Labels: pull-request-available
>
> Currently {{OwnedRef}} and {{ScopedRef}} have similar semantics with small 
> differences. Furtheremore, the naming distinction isn't obvious.
> I propose to unify them as a single {{OwnedRef}} class with the following 
> characteristics:
> - doesn't take the GIL automatically
> - has a {{release()}} method that decrefs the pointer (and sets the internal 
> copy to NULL) before returning it
> - has a {{detach()}} method that returns the pointer (and sets the internal 
> copy to NULL) without decrefing it
> For the rare situations where an {{OwnedRef}} may be destroyed with the GIL 
> released, a {{OwnedRefNoGIL}} derived class would also be proposed (the 
> naming scheme follows Cython here).
> Opinions / comments?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to