summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2011-12-10 22:50:22 (GMT)
committerBenjamin Peterson <benjamin@python.org>2011-12-10 22:50:22 (GMT)
commit2122cf717f963c956b4481ca31703bbf8e391397 (patch)
tree30351a4de4d819deaa471fbc42c83b0de3487813
parentce2af335622a1371481fe7f410819d9df9f2ef5d (diff)
downloadcpython-2122cf717f963c956b4481ca31703bbf8e391397.zip
cpython-2122cf717f963c956b4481ca31703bbf8e391397.tar.gz
cpython-2122cf717f963c956b4481ca31703bbf8e391397.tar.bz2
alias resource.error to OSError
-rw-r--r--Doc/library/resource.rst8
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/resource.c16
3 files changed, 12 insertions, 14 deletions
diff --git a/Doc/library/resource.rst b/Doc/library/resource.rst
index c16b013..03a7cb5 100644
--- a/Doc/library/resource.rst
+++ b/Doc/library/resource.rst
@@ -14,13 +14,15 @@ resources utilized by a program.
Symbolic constants are used to specify particular system resources and to
request usage information about either the current process or its children.
-A single exception is defined for errors:
+An :exc:`OSError` is raised on syscall failure.
.. exception:: error
- The functions described below may raise this error if the underlying system call
- failures unexpectedly.
+ A deprecated alias of :exc:`OSError`.
+
+ .. versionchanged:: 3.3
+ Following :pep:`3151`, this class was made an alias of :exc:`OSError`.
Resource Limits
diff --git a/Misc/NEWS b/Misc/NEWS
index 58c2813..16cda42 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -406,6 +406,8 @@ Core and Builtins
Library
-------
+- Alias resource.error to OSError ala PEP 3151.
+
- Issue #13248: Turn 3.2's PendingDeprecationWarning into 3.3's
DeprecationWarning. It covers 'cgi.escape', 'importlib.abc.PyLoader',
'importlib.abc.PyPycLoader', 'nntplib.NNTP.xgtitle', 'nntplib.NNTP.xpath',
diff --git a/Modules/resource.c b/Modules/resource.c
index 1875e48..1aed497 100644
--- a/Modules/resource.c
+++ b/Modules/resource.c
@@ -18,8 +18,6 @@
#define doubletime(TV) ((double)(TV).tv_sec + (TV).tv_usec * 0.000001)
-static PyObject *ResourceError;
-
PyDoc_STRVAR(struct_rusage__doc__,
"struct_rusage: Result from getrusage.\n\n"
"This object may be accessed either as a tuple of\n"
@@ -73,7 +71,7 @@ resource_getrusage(PyObject *self, PyObject *args)
"invalid who parameter");
return NULL;
}
- PyErr_SetFromErrno(ResourceError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -125,7 +123,7 @@ resource_getrlimit(PyObject *self, PyObject *args)
}
if (getrlimit(resource, &rl) == -1) {
- PyErr_SetFromErrno(ResourceError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -183,7 +181,7 @@ resource_setrlimit(PyObject *self, PyObject *args)
PyErr_SetString(PyExc_ValueError,
"not allowed to raise maximum limit");
else
- PyErr_SetFromErrno(ResourceError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_INCREF(Py_None);
@@ -246,12 +244,8 @@ PyInit_resource(void)
return NULL;
/* Add some symbolic constants to the module */
- if (ResourceError == NULL) {
- ResourceError = PyErr_NewException("resource.error",
- NULL, NULL);
- }
- Py_INCREF(ResourceError);
- PyModule_AddObject(m, "error", ResourceError);
+ Py_INCREF(PyExc_OSError);
+ PyModule_AddObject(m, "error", PyExc_OSError);
if (!initialized)
PyStructSequence_InitType(&StructRUsageType,
&struct_rusage_desc);