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.
This commit is contained in:
Ethan Steinberg 2020-05-26 14:42:18 -07:00 committed by GitHub
parent b45af1a569
commit 21fda91f8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 1 deletions

View File

@ -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.

View File

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

View File

@ -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());