summaryrefslogtreecommitdiffstats
path: root/Python/dynload_shlib.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-03-30 08:09:31 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-03-30 08:09:31 (GMT)
commite134a7fe36652434c2ccffc4ebab2ec2031d1505 (patch)
tree9eea060bf19c856881f438860eb2abdbe41f2bdd /Python/dynload_shlib.c
parent2e1c4e5db2894ec4322f917e9babc4e37dca9244 (diff)
downloadcpython-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.c14
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;
}
}