diff options
Diffstat (limited to 'numpy/linalg/lapack_lite/python_xerbla.c')
-rw-r--r-- | numpy/linalg/lapack_lite/python_xerbla.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/numpy/linalg/lapack_lite/python_xerbla.c b/numpy/linalg/lapack_lite/python_xerbla.c index 4e5a68413..8bd069842 100644 --- a/numpy/linalg/lapack_lite/python_xerbla.c +++ b/numpy/linalg/lapack_lite/python_xerbla.c @@ -26,12 +26,16 @@ int xerbla_(char *srname, integer *info) 6 for name, 4 for param. num. */ int len = 0; /* length of subroutine name*/ + PyGILState_STATE save; + while( len<6 && srname[len]!='\0' ) len++; while( len && srname[len-1]==' ' ) len--; snprintf(buf, sizeof(buf), format, len, srname, *info); + save = PyGILState_Ensure(); PyErr_SetString(PyExc_ValueError, buf); + PyGILState_Release(save); return 0; } |