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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
25 additions and
1 deletions
-
Doc/library/mmap.rst
-
Misc/NEWS.d/next/Library/2020-05-13-16-28-33.bpo-40611.ZCk0_c.rst
-
Modules/mmapmodule.c
|
|
|
@ -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. |
|
|
|
@ -0,0 +1 @@ |
|
|
|
:data:`~mmap.MAP_POPULATE` constant has now been added to the list of exported :mod:`mmap` module flags. |
|
|
|
@ -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()); |
|
|
|
|
|
|
|
|