mirror of
https://github.com/python/cpython
synced 2024-09-20 00:01:58 +00:00
gh-113868: Add a number of MAP_* flags from macOS to module mmap (#113869)
The new flags were extracted from the macOS 14.2 SDK. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
8aa0088ea2
commit
79970792fd
|
@ -372,14 +372,25 @@ MAP_* Constants
|
||||||
|
|
||||||
.. data:: MAP_SHARED
|
.. data:: MAP_SHARED
|
||||||
MAP_PRIVATE
|
MAP_PRIVATE
|
||||||
MAP_DENYWRITE
|
MAP_32BIT
|
||||||
MAP_EXECUTABLE
|
MAP_ALIGNED_SUPER
|
||||||
MAP_ANON
|
MAP_ANON
|
||||||
MAP_ANONYMOUS
|
MAP_ANONYMOUS
|
||||||
MAP_POPULATE
|
|
||||||
MAP_STACK
|
|
||||||
MAP_ALIGNED_SUPER
|
|
||||||
MAP_CONCEAL
|
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_TPRO
|
||||||
|
MAP_TRANSLATED_ALLOW_EXECUTE
|
||||||
|
MAP_UNIX03
|
||||||
|
|
||||||
These are the various flags that can be passed to :meth:`mmap.mmap`. :data:`MAP_ALIGNED_SUPER`
|
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
|
is only available at FreeBSD and :data:`MAP_CONCEAL` is only available at OpenBSD. Note
|
||||||
|
@ -392,5 +403,12 @@ MAP_* Constants
|
||||||
Added :data:`MAP_STACK` constant.
|
Added :data:`MAP_STACK` constant.
|
||||||
|
|
||||||
.. versionadded:: 3.12
|
.. versionadded:: 3.12
|
||||||
Added :data:`MAP_ALIGNED_SUPER` constant.
|
Added :data:`MAP_ALIGNED_SUPER` and :data:`MAP_CONCEAL` constants.
|
||||||
Added :data:`MAP_CONCEAL` constant.
|
|
||||||
|
.. 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.
|
||||||
|
|
||||||
|
|
|
@ -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.
|
|
@ -1653,6 +1653,39 @@ mmap_exec(PyObject *module)
|
||||||
#endif
|
#endif
|
||||||
#ifdef MAP_CONCEAL
|
#ifdef MAP_CONCEAL
|
||||||
ADD_INT_MACRO(module, 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
|
#endif
|
||||||
if (PyModule_AddIntConstant(module, "PAGESIZE", (long)my_getpagesize()) < 0 ) {
|
if (PyModule_AddIntConstant(module, "PAGESIZE", (long)my_getpagesize()) < 0 ) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in a new issue