Browse Source

bpo-40611: Adds MAP_POPULATE to the mmap module (GH-20061)

MAP_POPULATE constant has now been added to the list of exported
mmap module flags.
pull/20465/head
Ethan Steinberg 6 years ago
committed by GitHub
parent
commit
21fda91f8d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 22
      Doc/library/mmap.rst
  2. 1
      Misc/NEWS.d/next/Library/2020-05-13-16-28-33.bpo-40611.ZCk0_c.rst
  3. 3
      Modules/mmapmodule.c

22
Doc/library/mmap.rst

@ -81,7 +81,9 @@ To map anonymous memory, -1 should be passed as the fileno along with the length
private copy-on-write mapping, so changes to the contents of the mmap
object will be private to this process, and :const:`MAP_SHARED` creates a
mapping that's shared with all other processes mapping the same areas of
the file. The default value is :const:`MAP_SHARED`.
the file. The default value is :const:`MAP_SHARED`. Some systems have
additional possible flags with the full list specified in
:ref:`MAP_* constants <map-constants>`.
*prot*, if specified, gives the desired memory protection; the two most
useful values are :const:`PROT_READ` and :const:`PROT_WRITE`, to specify
@ -342,3 +344,21 @@ MADV_* Constants
Availability: Systems with the madvise() system call.
.. versionadded:: 3.8
.. _map-constants:
MAP_* Constants
+++++++++++++++
.. data:: MAP_SHARED
MAP_PRIVATE
MAP_DENYWRITE
MAP_EXECUTABLE
MAP_ANON
MAP_ANONYMOUS
MAP_POPULATE
These are the various flags that can be passed to :meth:`mmap.mmap`. Note that some options might not be present on some systems.
.. versionchanged:: 3.10
Added MAP_POPULATE constant.

1
Misc/NEWS.d/next/Library/2020-05-13-16-28-33.bpo-40611.ZCk0_c.rst

@ -0,0 +1 @@
:data:`~mmap.MAP_POPULATE` constant has now been added to the list of exported :mod:`mmap` module flags.

3
Modules/mmapmodule.c

@ -1574,6 +1574,9 @@ PyInit_mmap(void)
setint(dict, "MAP_ANON", MAP_ANONYMOUS);
setint(dict, "MAP_ANONYMOUS", MAP_ANONYMOUS);
#endif
#ifdef MAP_POPULATE
setint(dict, "MAP_POPULATE", MAP_POPULATE);
#endif
setint(dict, "PAGESIZE", (long)my_getpagesize());

Loading…
Cancel
Save