]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40611: Adds MAP_POPULATE to the mmap module (GH-20061)
authorEthan Steinberg <ethan.steinberg@gmail.com>
Tue, 26 May 2020 21:42:18 +0000 (14:42 -0700)
committerGitHub <noreply@github.com>
Tue, 26 May 2020 21:42:18 +0000 (23:42 +0200)
MAP_POPULATE constant has now been added to the list of exported
mmap module flags.

Doc/library/mmap.rst
Misc/NEWS.d/next/Library/2020-05-13-16-28-33.bpo-40611.ZCk0_c.rst [new file with mode: 0644]
Modules/mmapmodule.c

index 1f3fbc340fc26762227e81044782704a2d299365..698c17653786b3c7ef2a6d4b1218df3e0ff7b335 100644 (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.
diff --git a/Misc/NEWS.d/next/Library/2020-05-13-16-28-33.bpo-40611.ZCk0_c.rst b/Misc/NEWS.d/next/Library/2020-05-13-16-28-33.bpo-40611.ZCk0_c.rst
new file mode 100644 (file)
index 0000000..50ef3ad
--- /dev/null
@@ -0,0 +1 @@
+:data:`~mmap.MAP_POPULATE` constant has now been added to the list of exported :mod:`mmap` module flags.
index a3e22d0a5110da23117f20c668b602a7c176c7a1..8a60db1e1c469269f685b2f958de1bb50e0f2579 100644 (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());