diff options
| author | Facundo Batista <facundobatista@gmail.com> | 2008-02-17 18:59:29 +0000 |
|---|---|---|
| committer | Facundo Batista <facundobatista@gmail.com> | 2008-02-17 18:59:29 +0000 |
| commit | e139688d34cc12b23d3a310f10d4f440f75f7d08 (patch) | |
| tree | 490a12e1246ba8a0aea3b92b9bd4fc8633965480 | |
| parent | f88a077f69892c80e1ecf0ac8c0ba3d981dc4ff8 (diff) | |
| download | cpython-git-e139688d34cc12b23d3a310f10d4f440f75f7d08.tar.gz | |
Issue 2112. mmap does not raises EnvironmentError no more, but
a subclass of it. Thanks John Lenton.
| -rw-r--r-- | Lib/test/test_mmap.py | 5 | ||||
| -rw-r--r-- | Misc/NEWS | 3 | ||||
| -rw-r--r-- | Modules/mmapmodule.c | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py index 8a145cfddb..49ec78b842 100644 --- a/Lib/test/test_mmap.py +++ b/Lib/test/test_mmap.py @@ -436,6 +436,11 @@ class MmapTests(unittest.TestCase): self.assertRaises(TypeError, m.write, "foo") + def test_error(self): + self.assert_(issubclass(mmap.error, EnvironmentError)) + self.assert_("mmap.error" in str(mmap.error)) + + def test_main(): run_unittest(MmapTests) @@ -1149,6 +1149,9 @@ Library Extension Modules ----------------- +- #2112: mmap.error is now a subclass of EnvironmentError and not a + direct EnvironmentError + - Bug #2111: mmap segfaults when trying to write a block opened with PROT_READ - #2063: correct order of utime and stime in os.times() result on Windows. diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c index e47211f171..c71d8402cb 100644 --- a/Modules/mmapmodule.c +++ b/Modules/mmapmodule.c @@ -1402,7 +1402,10 @@ initmmap(void) dict = PyModule_GetDict(module); if (!dict) return; - mmap_module_error = PyExc_EnvironmentError; + mmap_module_error = PyErr_NewException("mmap.error", + PyExc_EnvironmentError , NULL); + if (mmap_module_error == NULL) + return; PyDict_SetItemString(dict, "error", mmap_module_error); PyDict_SetItemString(dict, "mmap", (PyObject*) &mmap_object_type); #ifdef PROT_EXEC |
