Small event ownership clean up in Python layer
It seems cleaner to me for functions like create_thread_event_object, which pass object ownership to their callers, to directly return a gdb_ref<>. This way the ownership transfer is part of the API. This patch makes this change. ChangeLog 2017-09-11 Tom Tromey <tom@tromey.com> * python/py-threadevent.c (create_thread_event_object): Return gdbpy_ref. * python/py-stopevent.h (create_stop_event_object) (create_breakpoint_event_object, create_signal_event_object): Update. * python/py-stopevent.c (create_stop_event_object): Return gdbpy_ref. (emit_stop_event): Update. * python/py-signalevent.c (create_signal_event_object): Return gdbpy_ref. * python/py-infevents.c (create_inferior_call_event_object): Update. * python/py-event.h (create_event_object) (create_thread_event_object): Update. * python/py-event.c (create_event_object): Return gdbpy_ref. * python/py-continueevent.c: Return gdbpy_ref. * python/py-bpevent.c (create_breakpoint_event_object): Return gdbpy_ref.
This commit is contained in:
parent
7c96f8c1da
commit
35c61a1dd5
10 changed files with 44 additions and 23 deletions
|
@ -27,7 +27,7 @@ evpy_dealloc (PyObject *self)
|
|||
Py_TYPE (self)->tp_free (self);
|
||||
}
|
||||
|
||||
PyObject *
|
||||
gdbpy_ref<>
|
||||
create_event_object (PyTypeObject *py_type)
|
||||
{
|
||||
gdbpy_ref<event_object> event_obj (PyObject_New (event_object, py_type));
|
||||
|
@ -38,7 +38,7 @@ create_event_object (PyTypeObject *py_type)
|
|||
if (!event_obj->dict)
|
||||
return NULL;
|
||||
|
||||
return (PyObject*) event_obj.release ();
|
||||
return gdbpy_ref<> ((PyObject *) event_obj.release ());
|
||||
}
|
||||
|
||||
/* Add the attribute ATTR to the event object EVENT. In
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue