diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2003-01-10 20:52:16 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2003-01-10 20:52:16 (GMT) |
commit | e604c02a803f075efecb318f5fb584faf7bf12c4 (patch) | |
tree | b6565e57f8c5610323528b299feb4bd379e8e9b9 /Lib/test/test_mmap.py | |
parent | e7a161e60ceb5ca24752404683802f49afe18e8c (diff) | |
download | cpython-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.py | 18 |
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' |