bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051)
diff --git a/Modules/_bz2module.c b/Modules/_bz2module.c
index 5cea42c..409522f 100644
--- a/Modules/_bz2module.c
+++ b/Modules/_bz2module.c
@@ -96,10 +96,10 @@
return 1;
case BZ_DATA_ERROR:
case BZ_DATA_ERROR_MAGIC:
- PyErr_SetString(PyExc_IOError, "Invalid data stream");
+ PyErr_SetString(PyExc_OSError, "Invalid data stream");
return 1;
case BZ_IO_ERROR:
- PyErr_SetString(PyExc_IOError, "Unknown I/O error");
+ PyErr_SetString(PyExc_OSError, "Unknown I/O error");
return 1;
case BZ_UNEXPECTED_EOF:
PyErr_SetString(PyExc_EOFError,
@@ -112,7 +112,7 @@
"Invalid sequence of commands sent to libbzip2");
return 1;
default:
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"Unrecognized error from libbzip2: %d", bzerror);
return 1;
}
diff --git a/Modules/_dbmmodule.c b/Modules/_dbmmodule.c
index 4b3fac4..7e13441 100644
--- a/Modules/_dbmmodule.c
+++ b/Modules/_dbmmodule.c
@@ -483,7 +483,7 @@
d = PyModule_GetDict(m);
if (DbmError == NULL)
DbmError = PyErr_NewException("_dbm.error",
- PyExc_IOError, NULL);
+ PyExc_OSError, NULL);
s = PyUnicode_FromString(which_dbm);
if (s != NULL) {
PyDict_SetItemString(d, "library", s);
diff --git a/Modules/_gdbmmodule.c b/Modules/_gdbmmodule.c
index 54a6566..12d973b 100644
--- a/Modules/_gdbmmodule.c
+++ b/Modules/_gdbmmodule.c
@@ -649,7 +649,7 @@
if (m == NULL)
return NULL;
d = PyModule_GetDict(m);
- DbmError = PyErr_NewException("_gdbm.error", PyExc_IOError, NULL);
+ DbmError = PyErr_NewException("_gdbm.error", PyExc_OSError, NULL);
if (DbmError != NULL) {
PyDict_SetItemString(d, "error", DbmError);
s = PyUnicode_FromString(dbmmodule_open_flags);
diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c
index bc2fb32..f0621f4 100644
--- a/Modules/_io/_iomodule.c
+++ b/Modules/_io/_iomodule.c
@@ -61,7 +61,7 @@
"At the top of the I/O hierarchy is the abstract base class IOBase. It\n"
"defines the basic interface to a stream. Note, however, that there is no\n"
"separation between reading and writing to streams; implementations are\n"
-"allowed to raise an IOError if they do not support a given operation.\n"
+"allowed to raise an OSError if they do not support a given operation.\n"
"\n"
"Extending IOBase is RawIOBase which deals simply with the reading and\n"
"writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide\n"
@@ -107,7 +107,7 @@
closefd: bool(accept={int}) = True
opener: object = None
-Open file and return a stream. Raise IOError upon failure.
+Open file and return a stream. Raise OSError upon failure.
file is either a text or byte string giving the name (and the path
if the file isn't in the current working directory) of the file to
@@ -231,7 +231,7 @@
_io_open_impl(PyObject *module, PyObject *file, const char *mode,
int buffering, const char *encoding, const char *errors,
const char *newline, int closefd, PyObject *opener)
-/*[clinic end generated code: output=aefafc4ce2b46dc0 input=7f81b2a1d3b02344]*/
+/*[clinic end generated code: output=aefafc4ce2b46dc0 input=03da2940c8a65871]*/
{
unsigned i;
@@ -656,7 +656,7 @@
if (PyModule_AddIntMacro(m, DEFAULT_BUFFER_SIZE) < 0)
goto fail;
- /* UnsupportedOperation inherits from ValueError and IOError */
+ /* UnsupportedOperation inherits from ValueError and OSError */
state->unsupported_operation = PyObject_CallFunction(
(PyObject *)&PyType_Type, "s(OO){}",
"UnsupportedOperation", PyExc_OSError, PyExc_ValueError);
diff --git a/Modules/_io/_iomodule.h b/Modules/_io/_iomodule.h
index c589c38..db84037 100644
--- a/Modules/_io/_iomodule.h
+++ b/Modules/_io/_iomodule.h
@@ -67,7 +67,7 @@
int translated, int universal, PyObject *readnl,
int kind, const char *start, const char *end, Py_ssize_t *consumed);
-/* Return 1 if an EnvironmentError with errno == EINTR is set (and then
+/* Return 1 if an OSError with errno == EINTR is set (and then
clears the error indicator), 0 otherwise.
Should only be called when PyErr_Occurred() is true.
*/
diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c
index 24e052b..189b1cd 100644
--- a/Modules/_io/bufferedio.c
+++ b/Modules/_io/bufferedio.c
@@ -695,7 +695,7 @@
Py_DECREF(res);
if (n < 0) {
if (!PyErr_Occurred())
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"Raw stream returned invalid position %" PY_PRIdOFF,
(PY_OFF_T_COMPAT)n);
return -1;
@@ -728,7 +728,7 @@
Py_DECREF(res);
if (n < 0) {
if (!PyErr_Occurred())
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"Raw stream returned invalid position %" PY_PRIdOFF,
(PY_OFF_T_COMPAT)n);
return -1;
@@ -776,7 +776,7 @@
return 0;
}
-/* Return 1 if an EnvironmentError with errno == EINTR is set (and then
+/* Return 1 if an OSError with errno == EINTR is set (and then
clears the error indicator), 0 otherwise.
Should only be called when PyErr_Occurred() is true.
*/
@@ -785,17 +785,17 @@
{
static PyObject *eintr_int = NULL;
PyObject *typ, *val, *tb;
- PyEnvironmentErrorObject *env_err;
+ PyOSErrorObject *env_err;
if (eintr_int == NULL) {
eintr_int = PyLong_FromLong(EINTR);
assert(eintr_int != NULL);
}
- if (!PyErr_ExceptionMatches(PyExc_EnvironmentError))
+ if (!PyErr_ExceptionMatches(PyExc_OSError))
return 0;
PyErr_Fetch(&typ, &val, &tb);
PyErr_NormalizeException(&typ, &val, &tb);
- env_err = (PyEnvironmentErrorObject *) val;
+ env_err = (PyOSErrorObject *) val;
assert(env_err != NULL);
if (env_err->myerrno != NULL &&
PyObject_RichCompareBool(env_err->myerrno, eintr_int, Py_EQ) > 0) {
@@ -1374,7 +1374,7 @@
line = PyObject_CallMethodObjArgs((PyObject *)self,
_PyIO_str_readline, NULL);
if (line && !PyBytes_Check(line)) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"readline() should have returned a bytes object, "
"not '%.200s'", Py_TYPE(line)->tp_name);
Py_DECREF(line);
@@ -1501,7 +1501,7 @@
n = PyNumber_AsSsize_t(res, PyExc_ValueError);
Py_DECREF(res);
if (n < 0 || n > len) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"raw readinto() returned invalid length %zd "
"(should have been between 0 and %zd)", n, len);
return -1;
@@ -1858,7 +1858,7 @@
n = PyNumber_AsSsize_t(res, PyExc_ValueError);
Py_DECREF(res);
if (n < 0 || n > len) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"raw write() returned invalid length %zd "
"(should have been between 0 and %zd)", n, len);
return -1;
diff --git a/Modules/_io/clinic/_iomodule.c.h b/Modules/_io/clinic/_iomodule.c.h
index a1ba869..245df25 100644
--- a/Modules/_io/clinic/_iomodule.c.h
+++ b/Modules/_io/clinic/_iomodule.c.h
@@ -7,7 +7,7 @@
" errors=None, newline=None, closefd=True, opener=None)\n"
"--\n"
"\n"
-"Open file and return a stream. Raise IOError upon failure.\n"
+"Open file and return a stream. Raise OSError upon failure.\n"
"\n"
"file is either a text or byte string giving the name (and the path\n"
"if the file isn\'t in the current working directory) of the file to\n"
@@ -158,4 +158,4 @@
exit:
return return_value;
}
-/*[clinic end generated code: output=79fd04d9c9d8f28f input=a9049054013a1b77]*/
+/*[clinic end generated code: output=e6011c784fe6589b input=a9049054013a1b77]*/
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index 3c0b752..922db3e 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -123,7 +123,7 @@
}
if (err < 0) {
errno = save_errno;
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return -1;
}
return 0;
@@ -456,7 +456,7 @@
directories, so we need a check. */
if (S_ISDIR(fdfstat.st_mode)) {
errno = EISDIR;
- PyErr_SetFromErrnoWithFilenameObject(PyExc_IOError, nameobj);
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, nameobj);
goto error;
}
#endif /* defined(S_ISDIR) */
@@ -910,7 +910,7 @@
_Py_END_SUPPRESS_IPH
Py_END_ALLOW_THREADS
if (res < 0)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
#if defined(HAVE_LARGEFILE_SUPPORT)
return PyLong_FromLongLong(res);
@@ -1023,7 +1023,7 @@
if (ret != 0) {
Py_DECREF(posobj);
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
diff --git a/Modules/_io/iobase.c b/Modules/_io/iobase.c
index 1a687c5..b7a506b 100644
--- a/Modules/_io/iobase.c
+++ b/Modules/_io/iobase.c
@@ -526,7 +526,7 @@
goto fail;
}
if (!PyBytes_Check(readahead)) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"peek() should have returned a bytes object, "
"not '%.200s'", Py_TYPE(readahead)->tp_name);
Py_DECREF(readahead);
@@ -566,7 +566,7 @@
goto fail;
}
if (!PyBytes_Check(b)) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"read() should have returned a bytes object, "
"not '%.200s'", Py_TYPE(b)->tp_name);
Py_DECREF(b);
diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c
index 2ec32ac..718b1ac 100644
--- a/Modules/_io/stringio.c
+++ b/Modules/_io/stringio.c
@@ -410,7 +410,7 @@
line = PyObject_CallMethodObjArgs((PyObject *)self,
_PyIO_str_readline, NULL);
if (line && !PyUnicode_Check(line)) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"readline() should have returned a str object, "
"not '%.200s'", Py_TYPE(line)->tp_name);
Py_DECREF(line);
@@ -498,7 +498,7 @@
return NULL;
}
else if (whence != 0 && pos != 0) {
- PyErr_SetString(PyExc_IOError,
+ PyErr_SetString(PyExc_OSError,
"Can't do nonzero cur-relative seeks");
return NULL;
}
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index 5639ad8..2c799e3 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -924,7 +924,7 @@
goto error;
}
else {
- PyErr_SetString(PyExc_IOError,
+ PyErr_SetString(PyExc_OSError,
"could not determine default encoding");
}
@@ -2205,7 +2205,7 @@
/* Skip chars_to_skip of the decoded characters. */
if (PyUnicode_GetLength(self->decoded_chars) < cookie.chars_to_skip) {
- PyErr_SetString(PyExc_IOError, "can't restore logical file position");
+ PyErr_SetString(PyExc_OSError, "can't restore logical file position");
goto fail;
}
self->decoded_chars_used = cookie.chars_to_skip;
@@ -2255,7 +2255,7 @@
goto fail;
}
if (!self->telling) {
- PyErr_SetString(PyExc_IOError,
+ PyErr_SetString(PyExc_OSError,
"telling position disabled by next() call");
goto fail;
}
@@ -2421,7 +2421,7 @@
cookie.need_eof = 1;
if (chars_decoded < chars_to_skip) {
- PyErr_SetString(PyExc_IOError,
+ PyErr_SetString(PyExc_OSError,
"can't reconstruct logical file position");
goto fail;
}
@@ -2693,7 +2693,7 @@
line = PyObject_CallMethodObjArgs((PyObject *)self,
_PyIO_str_readline, NULL);
if (line && !PyUnicode_Check(line)) {
- PyErr_Format(PyExc_IOError,
+ PyErr_Format(PyExc_OSError,
"readline() should have returned a str object, "
"not '%.200s'", Py_TYPE(line)->tp_name);
Py_DECREF(line);
diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c
index bb65b3b..806e638 100644
--- a/Modules/_multiprocessing/multiprocessing.c
+++ b/Modules/_multiprocessing/multiprocessing.c
@@ -64,7 +64,7 @@
Py_END_ALLOW_THREADS
if (ret)
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, WSAGetLastError());
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, WSAGetLastError());
Py_RETURN_NONE;
}
@@ -88,7 +88,7 @@
if (nread < 0) {
Py_DECREF(buf);
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, WSAGetLastError());
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, WSAGetLastError());
}
_PyBytes_Resize(&buf, nread);
return buf;
@@ -112,7 +112,7 @@
PyBuffer_Release(&buf);
if (ret < 0)
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, WSAGetLastError());
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, WSAGetLastError());
return PyLong_FromLong(ret);
}
diff --git a/Modules/_multiprocessing/semaphore.c b/Modules/_multiprocessing/semaphore.c
index 9614329..79e8715 100644
--- a/Modules/_multiprocessing/semaphore.c
+++ b/Modules/_multiprocessing/semaphore.c
@@ -135,7 +135,7 @@
Py_RETURN_TRUE;
case WAIT_OBJECT_0 + 1:
errno = EINTR;
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
case WAIT_FAILED:
return PyErr_SetFromWindowsErr(0);
default:
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 5f2de61..68fd2dd 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -3275,7 +3275,7 @@
}
else if (errno != 0) {
ERR_clear_error();
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
}
else {
_setSSLError(NULL, 0, __FILE__, __LINE__);
@@ -3296,7 +3296,7 @@
}
else if (errno != 0) {
ERR_clear_error();
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
}
else {
_setSSLError(NULL, 0, __FILE__, __LINE__);
@@ -3504,7 +3504,7 @@
ok = 0;
if (errno != 0) {
ERR_clear_error();
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
}
else {
_setSSLError(NULL, 0, __FILE__, __LINE__);
diff --git a/Modules/_winapi.c b/Modules/_winapi.c
index cb6a85c..1cb60cd 100644
--- a/Modules/_winapi.c
+++ b/Modules/_winapi.c
@@ -224,7 +224,7 @@
break;
default:
self->pending = 0;
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, err);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, err);
}
if (self->completed && self->read_buffer != NULL) {
assert(PyBytes_CheckExact(self->read_buffer));
@@ -276,7 +276,7 @@
/* CancelIoEx returns ERROR_NOT_FOUND if the I/O completed in-between */
if (!res && GetLastError() != ERROR_NOT_FOUND)
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
self->pending = 0;
Py_RETURN_NONE;
}
@@ -1139,7 +1139,7 @@
Py_END_ALLOW_THREADS
if (!ret) {
Py_DECREF(buf);
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
}
if (_PyBytes_Resize(&buf, nread))
return NULL;
@@ -1150,7 +1150,7 @@
ret = PeekNamedPipe(handle, NULL, 0, NULL, &navail, &nleft);
Py_END_ALLOW_THREADS
if (!ret) {
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
}
return Py_BuildValue("ii", navail, nleft);
}
@@ -1201,7 +1201,7 @@
overlapped->pending = 1;
else if (err != ERROR_MORE_DATA) {
Py_DECREF(overlapped);
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
}
}
return Py_BuildValue("NI", (PyObject *) overlapped, err);
@@ -1209,7 +1209,7 @@
if (!ret && err != ERROR_MORE_DATA) {
Py_DECREF(buf);
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
}
if (_PyBytes_Resize(&buf, nread))
return NULL;
@@ -1366,10 +1366,10 @@
Py_END_ALLOW_THREADS
if (result == WAIT_FAILED)
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
else if (sigint_event != NULL && result == WAIT_OBJECT_0 + nhandles - 1) {
errno = EINTR;
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
}
return PyLong_FromLong((int) result);
@@ -1455,7 +1455,7 @@
overlapped->pending = 1;
else {
Py_DECREF(overlapped);
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
}
}
return Py_BuildValue("NI", (PyObject *) overlapped, err);
@@ -1463,7 +1463,7 @@
PyBuffer_Release(buf);
if (!ret)
- return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, 0);
return Py_BuildValue("II", written, err);
}
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 8875b26..0baaa83 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -79,7 +79,7 @@
ret = fcntl(fd, code, buf);
Py_END_ALLOW_THREADS
if (ret < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyBytes_FromStringAndSize(buf, len);
@@ -99,7 +99,7 @@
ret = fcntl(fd, code, (int)int_arg);
Py_END_ALLOW_THREADS
if (ret < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyLong_FromLong((long)ret);
@@ -210,7 +210,7 @@
}
PyBuffer_Release(&pstr); /* No further access to str below this point */
if (ret < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
if (mutate_arg) {
@@ -238,7 +238,7 @@
Py_END_ALLOW_THREADS
if (ret < 0) {
PyBuffer_Release(&pstr);
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
PyBuffer_Release(&pstr);
@@ -258,7 +258,7 @@
ret = ioctl(fd, code, arg);
Py_END_ALLOW_THREADS
if (ret < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyLong_FromLong((long)ret);
@@ -316,7 +316,7 @@
}
#endif /* HAVE_FLOCK */
if (ret < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_RETURN_NONE;
@@ -412,7 +412,7 @@
Py_END_ALLOW_THREADS
}
if (ret < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_RETURN_NONE;
diff --git a/Modules/main.c b/Modules/main.c
index 42fe2a0..2fb230a 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -141,7 +141,7 @@
save_errno = errno;
PySys_WriteStderr("Could not open PYTHONSTARTUP\n");
errno = save_errno;
- PyErr_SetFromErrnoWithFilename(PyExc_IOError,
+ PyErr_SetFromErrnoWithFilename(PyExc_OSError,
startup);
PyErr_Print();
PyErr_Clear();
diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c
index 1cdbbae..8bb4d0d 100644
--- a/Modules/ossaudiodev.c
+++ b/Modules/ossaudiodev.c
@@ -128,13 +128,13 @@
expected write() semantics. */
if (fcntl(fd, F_SETFL, 0) == -1) {
close(fd);
- PyErr_SetFromErrnoWithFilename(PyExc_IOError, devicename);
+ PyErr_SetFromErrnoWithFilename(PyExc_OSError, devicename);
return NULL;
}
if (ioctl(fd, SNDCTL_DSP_GETFMTS, &afmts) == -1) {
close(fd);
- PyErr_SetFromErrnoWithFilename(PyExc_IOError, devicename);
+ PyErr_SetFromErrnoWithFilename(PyExc_OSError, devicename);
return NULL;
}
/* Create and initialize the object */
@@ -253,7 +253,7 @@
return NULL;
if (ioctl(fd, cmd, &arg) == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
return PyLong_FromLong(arg);
}
@@ -278,7 +278,7 @@
return NULL;
if (ioctl(fd, cmd, &arg) == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
return PyLong_FromLong(arg);
}
@@ -306,7 +306,7 @@
Py_END_ALLOW_THREADS
if (rv == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
Py_RETURN_NONE;
}
@@ -324,7 +324,7 @@
/* Hmmm: it doesn't appear to be possible to return to blocking
mode once we're in non-blocking mode! */
if (ioctl(self->fd, SNDCTL_DSP_NONBLOCK, NULL) == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
Py_RETURN_NONE;
}
@@ -346,7 +346,7 @@
return NULL;
if (ioctl(self->fd, SNDCTL_DSP_GETFMTS, &mask) == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
return PyLong_FromLong(mask);
}
@@ -491,7 +491,7 @@
assert(select_rv != 0); /* no timeout, can't expire */
if (select_rv == -1) {
PyBuffer_Release(&data);
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
}
rv = _Py_write(self->fd, cp, Py_MIN(size, INT_MAX));
@@ -575,7 +575,7 @@
fmt = wanted_fmt;
if (ioctl(self->fd, SNDCTL_DSP_SETFMT, &fmt) == -1) {
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
}
if (strict && fmt != wanted_fmt) {
return PyErr_Format
@@ -586,7 +586,7 @@
channels = wanted_channels;
if (ioctl(self->fd, SNDCTL_DSP_CHANNELS, &channels) == -1) {
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
}
if (strict && channels != wanted_channels) {
return PyErr_Format
@@ -597,7 +597,7 @@
rate = wanted_rate;
if (ioctl(self->fd, SNDCTL_DSP_SPEED, &rate) == -1) {
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
}
if (strict && rate != wanted_rate) {
return PyErr_Format
@@ -656,11 +656,11 @@
return NULL;
if (_ssize(self, &nchannels, &ssize) < 0 || !nchannels || !ssize) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
if (ioctl(self->fd, SNDCTL_DSP_GETOSPACE, &ai) < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyLong_FromLong((ai.fragstotal * ai.fragsize) / (nchannels * ssize));
@@ -678,11 +678,11 @@
return NULL;
if (_ssize(self, &nchannels, &ssize) < 0 || !nchannels || !ssize) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
if (ioctl(self->fd, SNDCTL_DSP_GETOSPACE, &ai) < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyLong_FromLong((ai.fragstotal * ai.fragsize - ai.bytes) /
@@ -701,11 +701,11 @@
return NULL;
if (_ssize(self, &nchannels, &ssize) < 0 || !nchannels || !ssize) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
if (ioctl(self->fd, SNDCTL_DSP_GETOSPACE, &ai) < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyLong_FromLong(ai.bytes / (ssize * nchannels));
@@ -725,7 +725,7 @@
else
req = SNDCTL_DSP_GETOPTR;
if (ioctl(self->fd, req, &info) == -1) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return Py_BuildValue("iii", info.bytes, info.blocks, info.ptr);
@@ -805,7 +805,7 @@
}
if (ioctl(self->fd, MIXER_READ(channel), &volume) == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
return Py_BuildValue("(ii)", volume & 0xff, (volume & 0xff00) >> 8);
}
@@ -835,7 +835,7 @@
volume = (rightVol << 8) | leftVol;
if (ioctl(self->fd, MIXER_WRITE(channel), &volume) == -1)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
return Py_BuildValue("(ii)", volume & 0xff, (volume & 0xff00) >> 8);
}
diff --git a/Modules/readline.c b/Modules/readline.c
index 389954f..dfbbb29 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -188,7 +188,7 @@
} else
errno = rl_read_init_file(NULL);
if (errno)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
Py_RETURN_NONE;
}
@@ -214,7 +214,7 @@
} else
errno = read_history(NULL);
if (errno)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
Py_RETURN_NONE;
}
@@ -249,7 +249,7 @@
Py_XDECREF(filename_bytes);
errno = err;
if (errno)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
Py_RETURN_NONE;
}
@@ -285,7 +285,7 @@
Py_XDECREF(filename_bytes);
errno = err;
if (errno)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
Py_RETURN_NONE;
}
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 6f71d58..0b9b5da 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -768,7 +768,7 @@
** the wild.
** See http://bugs.python.org/issue6397.
*/
- PyErr_Format(PyExc_IOError, "failed to write all pollfds. "
+ PyErr_Format(PyExc_OSError, "failed to write all pollfds. "
"Please, report at http://bugs.python.org/. "
"Data to report: Size tried: %d, actual size written: %d.",
size, n);
@@ -948,7 +948,7 @@
} while (1);
if (poll_result < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index ed03683..7982139 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -1438,7 +1438,7 @@
#if defined (HAVE_SETITIMER) || defined (HAVE_GETITIMER)
ItimerError = PyErr_NewException("signal.ItimerError",
- PyExc_IOError, NULL);
+ PyExc_OSError, NULL);
if (ItimerError != NULL)
PyDict_SetItemString(d, "ItimerError", ItimerError);
#endif
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index a74f6c7..c9526ba 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -603,7 +603,7 @@
goto error;
toc_entry = PyDict_GetItem(self->files, key);
if (toc_entry == NULL) {
- PyErr_SetFromErrnoWithFilenameObject(PyExc_IOError, key);
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, key);
Py_DECREF(key);
goto error;
}
@@ -709,7 +709,7 @@
PyDoc_STRVAR(doc_get_data,
"get_data(pathname) -> string with file data.\n\
\n\
-Return the data associated with 'pathname'. Raise IOError if\n\
+Return the data associated with 'pathname'. Raise OSError if\n\
the file wasn't found.");
PyDoc_STRVAR(doc_is_package,
@@ -1193,7 +1193,7 @@
goto file_error;
}
if (fread(buf, 1, data_size, fp) != (size_t)data_size) {
- PyErr_SetString(PyExc_IOError,
+ PyErr_SetString(PyExc_OSError,
"zipimport: can't read data");
goto error;
}