gdb: Use vector::emplace_back
[deliverable/binutils-gdb.git] / gdb / python / py-evtregistry.c
index c8003af9af7d28d785a7105d81f6469e18b3bdf3..632bf4e2658b4f03baed51f1e7b6b27af43d3b38 100644 (file)
@@ -1,6 +1,6 @@
 /* Python interface to inferior thread event registries.
 
-   Copyright (C) 2009-2013 Free Software Foundation, Inc.
+   Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -23,7 +23,7 @@
 
 events_object gdb_py_events;
 
-static PyTypeObject eventregistry_object_type
+extern PyTypeObject eventregistry_object_type
     CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("eventregistry_object");
 
 /* Implementation of EventRegistry.connect () -> NULL.
@@ -89,7 +89,10 @@ create_eventregistry_object (void)
 
   eventregistry_obj->callbacks = PyList_New (0);
   if (!eventregistry_obj->callbacks)
-    return NULL;
+    {
+      Py_DECREF (eventregistry_obj);
+      return NULL;
+    }
 
   return eventregistry_obj;
 }
@@ -103,15 +106,14 @@ evregpy_dealloc (PyObject *self)
 
 /* Initialize the Python event registry code.  */
 
-void
+int
 gdbpy_initialize_eventregistry (void)
 {
   if (PyType_Ready (&eventregistry_object_type) < 0)
-    return;
+    return -1;
 
-  Py_INCREF (&eventregistry_object_type);
-  PyModule_AddObject (gdb_module, "EventRegistry",
-                      (PyObject *) &eventregistry_object_type);
+  return gdb_pymodule_addobject (gdb_module, "EventRegistry",
+                                (PyObject *) &eventregistry_object_type);
 }
 
 /* Retern the number of listeners currently connected to this
@@ -130,7 +132,7 @@ static PyMethodDef eventregistry_object_methods[] =
   { NULL } /* Sentinel.  */
 };
 
-static PyTypeObject eventregistry_object_type =
+PyTypeObject eventregistry_object_type =
 {
   PyVarObject_HEAD_INIT (NULL, 0)
   "gdb.EventRegistry",                        /* tp_name */
This page took 0.033791 seconds and 4 git commands to generate.