bpo-42688: Fix ffi alloc/free when using external libffi on macos (GH-23868)
Automerge-Triggered-By: GH:ronaldoussoren
(cherry picked from commit b3c77ecbbe
)
Co-authored-by: erykoff <erykoff@stanford.edu>
This commit is contained in:
parent
7c48859eeb
commit
bbd9a91ee4
|
@ -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…
Reference in New Issue