diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-03-30 08:09:31 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-03-30 08:09:31 (GMT) |
commit | e134a7fe36652434c2ccffc4ebab2ec2031d1505 (patch) | |
tree | 9eea060bf19c856881f438860eb2abdbe41f2bdd /Python/dynload_shlib.c | |
parent | 2e1c4e5db2894ec4322f917e9babc4e37dca9244 (diff) | |
download | cpython-e134a7fe36652434c2ccffc4ebab2ec2031d1505.zip cpython-e134a7fe36652434c2ccffc4ebab2ec2031d1505.tar.gz cpython-e134a7fe36652434c2ccffc4ebab2ec2031d1505.tar.bz2 |
Issue #23752: _Py_fstat() is now responsible to raise the Python exception
Add _Py_fstat_noraise() function when a Python exception is not welcome.
Diffstat (limited to 'Python/dynload_shlib.c')
-rw-r--r-- | Python/dynload_shlib.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c index 659adac..1a467fd 100644 --- a/Python/dynload_shlib.c +++ b/Python/dynload_shlib.c @@ -71,22 +71,20 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname, if (fp != NULL) { int i; - struct _Py_stat_struct statb; - if (_Py_fstat(fileno(fp), &statb) == -1) { - PyErr_SetFromErrno(PyExc_IOError); + struct _Py_stat_struct status; + if (_Py_fstat(fileno(fp), &status) == -1) return NULL; - } for (i = 0; i < nhandles; i++) { - if (statb.st_dev == handles[i].dev && - statb.st_ino == handles[i].ino) { + if (status.st_dev == handles[i].dev && + status.st_ino == handles[i].ino) { p = (dl_funcptr) dlsym(handles[i].handle, funcname); return p; } } if (nhandles < 128) { - handles[nhandles].dev = statb.st_dev; - handles[nhandles].ino = statb.st_ino; + handles[nhandles].dev = status.st_dev; + handles[nhandles].ino = status.st_ino; } } |