mirror of
https://github.com/python/cpython.git
synced 2025-07-19 17:25:54 +00:00
Issue #15696: Add a __sizeof__ implementation for mmap objects on Windows.
This commit is contained in:
parent
d6ec309c36
commit
76b47655ff
3 changed files with 28 additions and 1 deletions
|
@ -709,6 +709,19 @@ mmap__exit__method(PyObject *self, PyObject *args)
|
|||
return _PyObject_CallMethodId(self, &PyId_close, NULL);
|
||||
}
|
||||
|
||||
#ifdef MS_WINDOWS
|
||||
static PyObject *
|
||||
mmap__sizeof__method(mmap_object *self, void *unused)
|
||||
{
|
||||
Py_ssize_t res;
|
||||
|
||||
res = sizeof(mmap_object);
|
||||
if (self->tagname)
|
||||
res += strlen(self->tagname) + 1;
|
||||
return PyLong_FromSsize_t(res);
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct PyMethodDef mmap_object_methods[] = {
|
||||
{"close", (PyCFunction) mmap_close_method, METH_NOARGS},
|
||||
{"find", (PyCFunction) mmap_find_method, METH_VARARGS},
|
||||
|
@ -726,6 +739,9 @@ static struct PyMethodDef mmap_object_methods[] = {
|
|||
{"write_byte", (PyCFunction) mmap_write_byte_method, METH_VARARGS},
|
||||
{"__enter__", (PyCFunction) mmap__enter__method, METH_NOARGS},
|
||||
{"__exit__", (PyCFunction) mmap__exit__method, METH_VARARGS},
|
||||
#ifdef MS_WINDOWS
|
||||
{"__sizeof__", (PyCFunction) mmap__sizeof__method, METH_NOARGS},
|
||||
#endif
|
||||
{NULL, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue