summaryrefslogtreecommitdiff
path: root/src/python/swig/pyevent.hh
diff options
context:
space:
mode:
authorNathan Binkert <nate@binkert.org>2008-11-10 11:51:18 -0800
committerNathan Binkert <nate@binkert.org>2008-11-10 11:51:18 -0800
commit4e02e7c217a1ee81dc16c378582697dd5a14de47 (patch)
tree6d39beaabb1df252632af16931827544aab44480 /src/python/swig/pyevent.hh
parent1adfe5c7f3368c4225ff685ddcd66b6280c7599f (diff)
downloadgem5-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.hh3
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();
};