Skip to content

Commit d82537c

Browse files
committed
Fix size method on anonymous mmap object
1 parent f60f822 commit d82537c

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

Lib/test/test_mmap.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,8 @@ def test_anonymous(self):
506506
m[x] = b
507507
self.assertEqual(m[x], b)
508508

509+
self.assertEqual(m.size(), PAGESIZE)
510+
509511
def test_read_all(self):
510512
m = mmap.mmap(-1, 16)
511513
self.addCleanup(m.close)

Modules/mmapmodule.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,9 @@ mmap_size_method(PyObject *op, PyObject *Py_UNUSED(ignored))
747747

748748
#ifdef UNIX
749749
{
750+
if (self->trackfd && self->fd == -1) {
751+
return PyLong_FromSsize_t(self->size);
752+
}
750753
struct _Py_stat_struct status;
751754
if (_Py_fstat(self->fd, &status) == -1)
752755
return NULL;

0 commit comments

Comments
 (0)