Merge pull request #3619 from PyO3/portable-atomic

Use portable-atomic for targets which lack 64-bit atomics used to check interpreter ID.
This commit is contained in:
David Hewitt 2023-12-03 07:16:33 +00:00 committed by GitHub
commit 1556845e78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 1 deletions

View File

@ -19,6 +19,7 @@ cfg-if = "1.0"
libc = "0.2.62"
parking_lot = ">= 0.11, < 0.13"
memoffset = "0.9"
portable-atomic = "1.0"
# ffi bindings to the python interpreter, split into a separate crate so they can be used independently
pyo3-ffi = { path = "pyo3-ffi", version = "=0.21.0-dev" }

View File

@ -0,0 +1 @@
Use portable-atomic to support platforms without 64-bit atomics

View File

@ -3,7 +3,7 @@
use std::cell::UnsafeCell;
#[cfg(all(not(PyPy), Py_3_9, not(all(windows, Py_LIMITED_API, not(Py_3_10)))))]
use std::sync::atomic::{AtomicI64, Ordering};
use portable_atomic::{AtomicI64, Ordering};
#[cfg(not(PyPy))]
use crate::exceptions::PyImportError;