X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fpython%2Fpy-signalevent.c;h=ffb3a2051b35d455819a92d61f42b135a705e619;hb=b5eba2d8c050b39943918057283470959a5d18c3;hp=323d6f670633d202574684303f5c7c9f968be6e5;hpb=0b30217134add051e159a192066a1e568ebd837f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/python/py-signalevent.c b/gdb/python/py-signalevent.c index 323d6f6706..ffb3a2051b 100644 --- a/gdb/python/py-signalevent.c +++ b/gdb/python/py-signalevent.c @@ -1,6 +1,6 @@ /* Python interface to inferior signal stop events. - Copyright (C) 2009-2012 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -17,37 +17,27 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#include "defs.h" #include "py-stopevent.h" -static PyTypeObject signal_event_object_type; - -PyObject * -create_signal_event_object (enum target_signal stop_signal) +gdbpy_ref<> +create_signal_event_object (enum gdb_signal stop_signal) { - const char *signal_name; - PyObject *signal_event_obj = - create_stop_event_object (&signal_event_object_type); + gdbpy_ref<> signal_event_obj + = create_stop_event_object (&signal_event_object_type); - if (!signal_event_obj) - goto fail; + if (signal_event_obj == NULL) + return NULL; - signal_name = target_signal_to_name (stop_signal); + const char *signal_name = gdb_signal_to_name (stop_signal); - if (evpy_add_attribute (signal_event_obj, + gdbpy_ref<> signal_name_obj (PyString_FromString (signal_name)); + if (signal_name_obj == NULL) + return NULL; + if (evpy_add_attribute (signal_event_obj.get (), "stop_signal", - PyString_FromString (signal_name)) < 0) - goto fail; + signal_name_obj.get ()) < 0) + return NULL; return signal_event_obj; - - fail: - Py_XDECREF (signal_event_obj); - return NULL; } - -GDBPY_NEW_EVENT_TYPE (signal, - "gdb.SignalEvent", - "SignalEvent", - "GDB signal event object", - stop_event_object_type, - static);