mirror of
https://github.com/python/cpython
synced 2026-09-29 11:55:30 +03:00
Issue #22018: signal.set_wakeup_fd() now raises an OSError instead of a
ValueError on fstat() failure.
This commit is contained in:
parent
38d773bd10
commit
0bffc94d57
3 changed files with 17 additions and 6 deletions
|
|
@ -437,12 +437,20 @@ signal_set_wakeup_fd(PyObject *self, PyObject *args)
|
|||
return NULL;
|
||||
}
|
||||
#endif
|
||||
if (fd != -1 && (!_PyVerify_fd(fd) || fstat(fd, &buf) != 0)) {
|
||||
PyErr_SetString(PyExc_ValueError, "invalid fd");
|
||||
return NULL;
|
||||
|
||||
if (fd != -1) {
|
||||
if (!_PyVerify_fd(fd)) {
|
||||
PyErr_SetString(PyExc_ValueError, "invalid fd");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (fstat(fd, &buf) != 0)
|
||||
return PyErr_SetFromErrno(PyExc_OSError);
|
||||
}
|
||||
|
||||
old_fd = wakeup_fd;
|
||||
wakeup_fd = fd;
|
||||
|
||||
return PyLong_FromLong(old_fd);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue