diff options
author | Nathan Binkert <nate@binkert.org> | 2008-11-10 11:51:18 -0800 |
---|---|---|
committer | Nathan Binkert <nate@binkert.org> | 2008-11-10 11:51:18 -0800 |
commit | 4e02e7c217a1ee81dc16c378582697dd5a14de47 (patch) | |
tree | 6d39beaabb1df252632af16931827544aab44480 /src/python/swig/pyevent.hh | |
parent | 1adfe5c7f3368c4225ff685ddcd66b6280c7599f (diff) | |
download | gem5-4e02e7c217a1ee81dc16c378582697dd5a14de47.tar.xz |
python: Fix the reference counting for python events placed on the eventq.
We need to add a reference when an object is put on the C++ queue, and remove
a reference when the object is removed from the queue. This was not happening
before and caused a memory problem.
Diffstat (limited to 'src/python/swig/pyevent.hh')
-rw-r--r-- | src/python/swig/pyevent.hh | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/python/swig/pyevent.hh b/src/python/swig/pyevent.hh index 22b562de1..9006a0404 100644 --- a/src/python/swig/pyevent.hh +++ b/src/python/swig/pyevent.hh @@ -43,6 +43,9 @@ class PythonEvent : public Event PythonEvent(PyObject *obj, Event::Priority priority); ~PythonEvent(); + void incref() { Py_INCREF(object); } + void decref() { Py_DECREF(object); } + virtual void process(); }; |