Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-600

TODO pondering about allocation behavior in zkpython may be removed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • 3.2.1
    • 3.3.0
    • contrib-bindings
    • None
    • Reviewed

    Description

      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;

      Attachments

        1. deallocate-vector.patch
          2 kB
          Gustavo Niemeyer

        Activity

          People

            niemeyer Gustavo Niemeyer
            niemeyer Gustavo Niemeyer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: