mirror of
https://github.com/python/cpython.git
synced 2025-09-29 11:45:57 +00:00
bpo-42688: Fix ffi alloc/free when using external libffi on macos (GH-23868) (GH-23888)
Automerge-Triggered-By: GH:ronaldoussoren
(cherry picked from commit b3c77ecbbe
)
Co-authored-by: erykoff <erykoff@stanford.edu>
This commit is contained in:
parent
d6675fee1a
commit
7e729978fa
1 changed files with 10 additions and 2 deletions
|
@ -91,11 +91,15 @@ static void more_core(void)
|
|||
/* put the item back into the free list */
|
||||
void Py_ffi_closure_free(void *p)
|
||||
{
|
||||
#if USING_APPLE_OS_LIBFFI && HAVE_FFI_CLOSURE_ALLOC
|
||||
#if HAVE_FFI_CLOSURE_ALLOC
|
||||
#if USING_APPLE_OS_LIBFFI
|
||||
if (__builtin_available(macos 10.15, ios 13, watchos 6, tvos 13, *)) {
|
||||
#endif
|
||||
ffi_closure_free(p);
|
||||
return;
|
||||
#if USING_APPLE_OS_LIBFFI
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
ITEM *item = (ITEM *)p;
|
||||
item->next = free_list;
|
||||
|
@ -105,10 +109,14 @@ void Py_ffi_closure_free(void *p)
|
|||
/* return one item from the free list, allocating more if needed */
|
||||
void *Py_ffi_closure_alloc(size_t size, void** codeloc)
|
||||
{
|
||||
#if USING_APPLE_OS_LIBFFI && HAVE_FFI_CLOSURE_ALLOC
|
||||
#if HAVE_FFI_CLOSURE_ALLOC
|
||||
#if USING_APPLE_OS_LIBFFI
|
||||
if (__builtin_available(macos 10.15, ios 13, watchos 6, tvos 13, *)) {
|
||||
#endif
|
||||
return ffi_closure_alloc(size, codeloc);
|
||||
#if USING_APPLE_OS_LIBFFI
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
ITEM *item;
|
||||
if (!free_list)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue