summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_mmap.py
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2003-01-10 20:52:16 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2003-01-10 20:52:16 (GMT)
commite604c02a803f075efecb318f5fb584faf7bf12c4 (patch)
treeb6565e57f8c5610323528b299feb4bd379e8e9b9 /Lib/test/test_mmap.py
parente7a161e60ceb5ca24752404683802f49afe18e8c (diff)
downloadcpython-e604c02a803f075efecb318f5fb584faf7bf12c4.zip
cpython-e604c02a803f075efecb318f5fb584faf7bf12c4.tar.gz
cpython-e604c02a803f075efecb318f5fb584faf7bf12c4.tar.bz2
SF #665913, Fix mmap module core dump with unix
Closing an mmap'ed file (calling munmap) twice on Solaris caused a core dump. Will backport.
Diffstat (limited to 'Lib/test/test_mmap.py')
-rw-r--r--Lib/test/test_mmap.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py
index 417080f..69d3cd5 100644
--- a/Lib/test/test_mmap.py
+++ b/Lib/test/test_mmap.py
@@ -297,6 +297,24 @@ def test_both():
except OSError:
pass
+ # make sure a double close doesn't crash on Solaris (Bug# 665913)
+ f = open(TESTFN, 'w+')
+
+ try: # unlink TESTFN no matter what
+ f.write(2**24 * 'a') # Arbitrary character
+ f.close()
+
+ f = open(TESTFN)
+ mf = mmap.mmap(f.fileno(), 2**24, access=mmap.ACCESS_READ)
+ mf.close()
+ mf.close()
+ f.close()
+
+ finally:
+ try:
+ os.unlink(TESTFN)
+ except OSError:
+ pass
print ' Test passed'