From 2122cf717f963c956b4481ca31703bbf8e391397 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sat, 10 Dec 2011 17:50:22 -0500 Subject: alias resource.error to OSError --- Doc/library/resource.rst | 8 +++++--- Misc/NEWS | 2 ++ Modules/resource.c | 16 +++++----------- 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); -- cgit v0.12