API/C memory mananegemnt problem

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • fumana@lambrate.inaf.it

    #1

    API/C memory mananegemnt problem

    Hi everybody,
    I have a problem with Python/C API and memory management.

    I'm using
    Python 2.3.5 (#1, Jan 4 2006, 16:44:27)
    [GCC 4.0.2 20050901 (prerelease) (SUSE Linux)] on linux2

    In my C-module I have a loop like this:
    *************** *************** *************** **

    int size=10000000;

    output=(double *) calloc(size, sizeof(double)) ;

    py_output=PyLis t_New(0);

    for(i=0; i<size; i++){
    tmp=PyFloat_Fro mDouble(output[i]);
    PyList_Append(p y_output, tmp);
    }

    free(outout);

    return py_output;

    *************** *************** *************** **

    It returns to python module a (very large) list.

    Problem: when I delete the list in python module (with python del statement)
    not all memory is relased.

    It look like all 10000000 tmp PyFloat allocated in C code
    remain stored in memory.

    Somebody can help me?

    Thanks.

    marco
Working...