diff options
author | Eric Wieser <wieser.eric@gmail.com> | 2018-04-19 23:31:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-19 23:31:35 -0700 |
commit | f6c4dacc3b8f6dda3920a5ae6ebe48758a47e00d (patch) | |
tree | 774eb39cc43658725fa7a4c35d6fb4678449d811 /numpy/linalg | |
parent | a9e9343ecf5a6564eb09f1d7078c407db2ff7d9e (diff) | |
parent | 2a6565c6432c682c2798e75d48adc587da661822 (diff) | |
download | numpy-f6c4dacc3b8f6dda3920a5ae6ebe48758a47e00d.tar.gz |
Merge pull request #10775 from mdboom/return-errors-from-init
BUG: Return NULL from PyInit_* when exception is raised
Diffstat (limited to 'numpy/linalg')
-rw-r--r-- | numpy/linalg/lapack_litemodule.c | 8 | ||||
-rw-r--r-- | numpy/linalg/umath_linalg.c.src | 9 |
2 files changed, 9 insertions, 8 deletions
diff --git a/numpy/linalg/lapack_litemodule.c b/numpy/linalg/lapack_litemodule.c index bdde2e22d..696a6d874 100644 --- a/numpy/linalg/lapack_litemodule.c +++ b/numpy/linalg/lapack_litemodule.c @@ -331,10 +331,10 @@ static struct PyModuleDef moduledef = { /* Initialization function for the module */ #if PY_MAJOR_VERSION >= 3 -#define RETVAL m +#define RETVAL(x) x PyMODINIT_FUNC PyInit_lapack_lite(void) #else -#define RETVAL +#define RETVAL(x) PyMODINIT_FUNC initlapack_lite(void) #endif @@ -347,12 +347,12 @@ initlapack_lite(void) "", (PyObject*)NULL,PYTHON_API_VERSION); #endif if (m == NULL) { - return RETVAL; + return RETVAL(NULL); } import_array(); d = PyModule_GetDict(m); LapackError = PyErr_NewException("lapack_lite.LapackError", NULL, NULL); PyDict_SetItemString(d, "LapackError", LapackError); - return RETVAL; + return RETVAL(m); } diff --git a/numpy/linalg/umath_linalg.c.src b/numpy/linalg/umath_linalg.c.src index d8cfdf6ac..c43a4a48e 100644 --- a/numpy/linalg/umath_linalg.c.src +++ b/numpy/linalg/umath_linalg.c.src @@ -3659,10 +3659,10 @@ static struct PyModuleDef moduledef = { #endif #if defined(NPY_PY3K) -#define RETVAL m +#define RETVAL(x) x PyObject *PyInit__umath_linalg(void) #else -#define RETVAL +#define RETVAL(x) PyMODINIT_FUNC init_umath_linalg(void) #endif @@ -3678,7 +3678,7 @@ init_umath_linalg(void) m = Py_InitModule(UMATH_LINALG_MODULE_NAME, UMath_LinAlgMethods); #endif if (m == NULL) { - return RETVAL; + return RETVAL(NULL); } import_array(); @@ -3696,7 +3696,8 @@ init_umath_linalg(void) if (PyErr_Occurred()) { PyErr_SetString(PyExc_RuntimeError, "cannot load _umath_linalg module."); + return RETVAL(NULL); } - return RETVAL; + return RETVAL(m); } |