zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gustavo Niemeyer (JIRA)" <j...@apache.org>
Subject [jira] Updated: (ZOOKEEPER-600) TODO pondering about allocation behavior in zkpython may be removed
Date Tue, 01 Dec 2009 19:07:20 GMT

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Gustavo Niemeyer updated ZOOKEEPER-600:

    Attachment: deallocate-vector.patch

The attached patch should fix this problem.  It also reuses existing code, and fixes a few
other issues around the former problem, with return values not being properly checked for

I'm afraid there are several instances of variables which are not checked for error conditions
in the module, unfortunately. :-(  I'm not going to try fixing these in this JIRA, though.

> TODO pondering about allocation behavior in zkpython may be removed
> -------------------------------------------------------------------
>                 Key: ZOOKEEPER-600
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-600
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.2.1
>            Reporter: Gustavo Niemeyer
>            Assignee: Gustavo Niemeyer
>            Priority: Trivial
>             Fix For: 3.3.0
>         Attachments: deallocate-vector.patch
> I suppose the TODO below is referring to the "path" variable which is passed in as an
output variable to PyArg_ParseTuple right below.  The TODO may be removed, since the code
is right.  Code using PyArg_ParseTuple will borrow the reference from the calling code, since
there's a stack behind the call to the enclosing function (pyzoo_get_children in this case)
which won't go away until the function returns.
> Index: src/contrib/zkpython/src/c/zookeeper.c
> ===================================================================
> --- src/contrib/zkpython/src/c/zookeeper.c	(revision 885582)
> +++ src/contrib/zkpython/src/c/zookeeper.c	(working copy)
> @@ -774,8 +774,6 @@
>  static PyObject *pyzoo_get_children(PyObject *self, PyObject *args)
>  {
> -  // TO DO: Does Python copy the string or the reference? If it's the former
> -  // we should free the String_vector
>    int zkhid;
>    char *path;
>    PyObject *watcherfn = Py_None;

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message