diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-07-22 20:24:54 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-07-22 20:24:54 (GMT) |
commit | 1c8f059019d79f1891f42a2656a96919a1187967 (patch) | |
tree | bcec768e9ca0d0e1e9e1ab80e0dfc0fe29ae758d /Modules/resource.c | |
parent | 2a545099f7ed45de1d45b45200d82c6298b75d2b (diff) | |
download | cpython-1c8f059019d79f1891f42a2656a96919a1187967.zip cpython-1c8f059019d79f1891f42a2656a96919a1187967.tar.gz cpython-1c8f059019d79f1891f42a2656a96919a1187967.tar.bz2 |
Issue #18520: Add a new PyStructSequence_InitType2() function, same than
PyStructSequence_InitType() except that it has a return value (0 on success,
-1 on error).
* PyStructSequence_InitType2() now raises MemoryError on memory allocation failure
* Fix also some calls to PyDict_SetItemString(): handle error
Diffstat (limited to 'Modules/resource.c')
-rw-r--r-- | Modules/resource.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Modules/resource.c b/Modules/resource.c index 4411225..8768315 100644 --- a/Modules/resource.c +++ b/Modules/resource.c @@ -263,9 +263,12 @@ PyInit_resource(void) /* Add some symbolic constants to the module */ Py_INCREF(PyExc_OSError); PyModule_AddObject(m, "error", PyExc_OSError); - if (!initialized) - PyStructSequence_InitType(&StructRUsageType, - &struct_rusage_desc); + if (!initialized) { + if (PyStructSequence_InitType2(&StructRUsageType, + &struct_rusage_desc) < 0) + return NULL; + } + Py_INCREF(&StructRUsageType); PyModule_AddObject(m, "struct_rusage", (PyObject*) &StructRUsageType); |