Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 24 additions & 6 deletions Doc/library/mmap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -372,14 +372,25 @@ MAP_* Constants

.. data:: MAP_SHARED
MAP_PRIVATE
MAP_DENYWRITE
MAP_EXECUTABLE
MAP_32BIT
MAP_ALIGNED_SUPER
MAP_ANON
MAP_ANONYMOUS
MAP_CONCEAL
MAP_DENYWRITE
MAP_EXECUTABLE
MAP_HASSEMAPHORE
MAP_JIT
MAP_NOCACHE
MAP_NOEXTEND
MAP_NORESERVE
MAP_POPULATE
MAP_RESILIENT_CODESIGN
MAP_RESILIENT_MEDIA
MAP_STACK
MAP_ALIGNED_SUPER
MAP_CONCEAL
MAP_TPRO
MAP_TRANSLATED_ALLOW_EXECUTE
MAP_UNIX03

These are the various flags that can be passed to :meth:`mmap.mmap`. :data:`MAP_ALIGNED_SUPER`
is only available at FreeBSD and :data:`MAP_CONCEAL` is only available at OpenBSD. Note
Expand All @@ -392,5 +403,12 @@ MAP_* Constants
Added :data:`MAP_STACK` constant.

.. versionadded:: 3.12
Added :data:`MAP_ALIGNED_SUPER` constant.
Added :data:`MAP_CONCEAL` constant.
Added :data:`MAP_ALIGNED_SUPER` and :data:`MAP_CONCEAL` constants.

.. versionadded:: 3.13
Added :data:`MAP_32BIT`, :data:`MAP_HASSEMAPHORE`, :data:`MAP_JIT`,
:data:`MAP_NOCACHE`, :data:`MAP_NOEXTEND`, :data:`MAP_NORESERVE`,
:data:`MAP_RESILIENT_CODESIGN`, :data:`MAP_RESILIENT_MEDIA`,
:data:`MAP_TPRO`, :data:`MAP_TRANSLATED_ALLOW_EXECUTE`, and
:data:`MAP_UNIX03` constants.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Added :data:`mmap.MAP_NORESERVE`, :data:`mmap.MAP_NOEXTEND`,
:data:`mmap.MAP_HASSEMAPHORE`, :data:`mmap.MAP_NOCACHE`,
:data:`mmap.MAP_JIT`, :data:`mmap.MAP_RESILIENT_CODESIGN`,
:data:`mmap.MAP_RESILIENT_MEDIA`, :data:`mmap.MAP_32BIT`,
:data:`mmap.MAP_TRANSLATED_ALLOW_EXECUTE`, :data:`mmap.MAP_UNIX03` and
:data:`mmap.MAP_TPRO`. All of them are ``mmap(2)`` flags on macOS.
Comment on lines +1 to +6

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Added :data:`mmap.MAP_NORESERVE`, :data:`mmap.MAP_NOEXTEND`,
:data:`mmap.MAP_HASSEMAPHORE`, :data:`mmap.MAP_NOCACHE`,
:data:`mmap.MAP_JIT`, :data:`mmap.MAP_RESILIENT_CODESIGN`,
:data:`mmap.MAP_RESILIENT_MEDIA`, :data:`mmap.MAP_32BIT`,
:data:`mmap.MAP_TRANSLATED_ALLOW_EXECUTE`, :data:`mmap.MAP_UNIX03` and
:data:`mmap.MAP_TPRO`. All of them are ``mmap(2)`` flags on macOS.
Added :data:`~mmap.MAP_32BIT`, :data:`~mmap.MAP_HASSEMAPHORE`,
:data:`~mmap.MAP_JIT`, :data:`~mmap.MAP_NOCACHE`, :data:`~mmap.MAP_NOEXTEND`,
:data:`~mmap.MAP_NORESERVE`, :data:`~mmap.MAP_RESILIENT_CODESIGN`,
:data:`~mmap.MAP_RESILIENT_MEDIA`, :data:`~mmap.MAP_TPRO`,
:data:`~mmap.MAP_TRANSLATED_ALLOW_EXECUTE`, and :data:`~mmap.MAP_UNIX03`
constants in the :mod:`mmap` module.
All of them are ``mmap(2)`` flags on macOS.

33 changes: 33 additions & 0 deletions Modules/mmapmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -1655,6 +1655,39 @@ mmap_exec(PyObject *module)
#endif
#ifdef MAP_CONCEAL
ADD_INT_MACRO(module, MAP_CONCEAL);
#endif
#ifdef MAP_NORESERVE
ADD_INT_MACRO(module, MAP_NORESERVE);
#endif
#ifdef MAP_NOEXTEND
ADD_INT_MACRO(module, MAP_NOEXTEND);
#endif
#ifdef MAP_HASSEMAPHORE
ADD_INT_MACRO(module, MAP_HASSEMAPHORE);
#endif
#ifdef MAP_NOCACHE
ADD_INT_MACRO(module, MAP_NOCACHE);
#endif
#ifdef MAP_JIT
ADD_INT_MACRO(module, MAP_JIT);
#endif
#ifdef MAP_RESILIENT_CODESIGN
ADD_INT_MACRO(module, MAP_RESILIENT_CODESIGN);
#endif
#ifdef MAP_RESILIENT_MEDIA
ADD_INT_MACRO(module, MAP_RESILIENT_MEDIA);
#endif
#ifdef MAP_32BIT
ADD_INT_MACRO(module, MAP_32BIT);
#endif
#ifdef MAP_TRANSLATED_ALLOW_EXECUTE
ADD_INT_MACRO(module, MAP_TRANSLATED_ALLOW_EXECUTE);
#endif
#ifdef MAP_UNIX03
ADD_INT_MACRO(module, MAP_UNIX03);
#endif
#ifdef MAP_TPRO
ADD_INT_MACRO(module, MAP_TPRO);
#endif
if (PyModule_AddIntConstant(module, "PAGESIZE", (long)my_getpagesize()) < 0 ) {
return -1;
Expand Down