summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2017-10-16 08:45:03 -0400
committerNed Batchelder <ned@nedbatchelder.com>2017-10-16 08:45:17 -0400
commitd5ab9acf4c57fe54ddef02f9dbeac6d6d34aa2ed (patch)
tree126c362ac5cacc8baf964999857aaab6f404da89
parent1b241b06b2d9badf1f4021150fef39ada7601b63 (diff)
downloadpython-coveragepy-git-d5ab9acf4c57fe54ddef02f9dbeac6d6d34aa2ed.tar.gz
Fix the initialization of the module
-rw-r--r--coverage/ctracer/module.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/coverage/ctracer/module.c b/coverage/ctracer/module.c
index 89eb7be0..113f5545 100644
--- a/coverage/ctracer/module.c
+++ b/coverage/ctracer/module.c
@@ -44,16 +44,17 @@ PyInit_tracer(void)
return NULL;
}
- InternTableType.tp_new = PyType_GenericNew;
- if (PyType_Ready(&InternTableType) < 0) {
+ Py_INCREF(&CTracerType);
+ if (PyModule_AddObject(mod, "CTracer", (PyObject *)&CTracerType) < 0) {
Py_DECREF(mod);
+ Py_DECREF(&CTracerType);
return NULL;
}
- Py_INCREF(&CTracerType);
- if (PyModule_AddObject(mod, "CTracer", (PyObject *)&CTracerType) < 0) {
+ /* Initialize InternTable */
+ InternTableType.tp_new = PyType_GenericNew;
+ if (PyType_Ready(&InternTableType) < 0) {
Py_DECREF(mod);
- Py_DECREF(&CTracerType);
return NULL;
}
@@ -61,7 +62,6 @@ PyInit_tracer(void)
if (PyModule_AddObject(mod, "InternTable", (PyObject *)&InternTableType) < 0) {
Py_DECREF(mod);
Py_DECREF(&InternTableType);
- Py_DECREF(&InternTableType);
return NULL;
}
@@ -70,6 +70,7 @@ PyInit_tracer(void)
if (PyType_Ready(&CFileDispositionType) < 0) {
Py_DECREF(mod);
Py_DECREF(&CTracerType);
+ Py_DECREF(&InternTableType);
return NULL;
}
@@ -77,6 +78,7 @@ PyInit_tracer(void)
if (PyModule_AddObject(mod, "CFileDisposition", (PyObject *)&CFileDispositionType) < 0) {
Py_DECREF(mod);
Py_DECREF(&CTracerType);
+ Py_DECREF(&InternTableType);
Py_DECREF(&CFileDispositionType);
return NULL;
}
@@ -109,6 +111,15 @@ inittracer(void)
Py_INCREF(&CTracerType);
PyModule_AddObject(mod, "CTracer", (PyObject *)&CTracerType);
+ /* Initialize InternTable */
+ InternTableType.tp_new = PyType_GenericNew;
+ if (PyType_Ready(&InternTableType) < 0) {
+ return;
+ }
+
+ Py_INCREF(&InternTableType);
+ PyModule_AddObject(mod, "InternTable", (PyObject *)&InternTableType);
+
/* Initialize CFileDisposition */
CFileDispositionType.tp_new = PyType_GenericNew;
if (PyType_Ready(&CFileDispositionType) < 0) {