Use parking_lot::Mutex instead of spin::Mutex
spin is no longer maintained. Fixes #718.
This commit is contained in:
parent
c5ae2dcdb7
commit
4b2f4b3a15
|
@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
* The blanket implementations for `FromPyObject` for `&T` and `&mut T` are no longer specializable. Implement `PyTryFrom` for your type to control the behavior of `FromPyObject::extract()` for your types.
|
||||
* The implementation for `IntoPy<U> for T` where `U: FromPy<T>` is no longer specializable. Control the behavior of this via the implementation of `FromPy`.
|
||||
* `#[new]` does not take `PyRawObject` and can reutrn `Self` [#683](https://github.com/PyO3/pyo3/pull/683)
|
||||
* Use `parking_lot::Mutex` instead of `spin::Mutex` [#734](https://github.com/PyO3/pyo3/pull/734)
|
||||
|
||||
### Added
|
||||
|
||||
|
|
16
Cargo.toml
16
Cargo.toml
|
@ -19,16 +19,16 @@ travis-ci = { repository = "PyO3/pyo3", branch = "master" }
|
|||
appveyor = { repository = "fafhrd91/pyo3" }
|
||||
|
||||
[dependencies]
|
||||
libc = "0.2.62"
|
||||
spin = "0.5.1"
|
||||
num-traits = "0.2.8"
|
||||
pyo3cls = { path = "pyo3cls", version = "=0.8.5" }
|
||||
num-complex = { version = ">= 0.2", optional = true }
|
||||
num-bigint = { version = ">= 0.2", optional = true }
|
||||
inventory = "0.1.4"
|
||||
indoc = "0.3.4"
|
||||
unindent = "0.1.4"
|
||||
inventory = "0.1.4"
|
||||
libc = "0.2.62"
|
||||
num-bigint = { version = ">= 0.2", optional = true }
|
||||
num-complex = { version = ">= 0.2", optional = true }
|
||||
num-traits = "0.2.8"
|
||||
parking_lot = { version = "0.10", features = ["nightly"] }
|
||||
paste = "0.1.6"
|
||||
pyo3cls = { path = "pyo3cls", version = "=0.8.5" }
|
||||
unindent = "0.1.4"
|
||||
|
||||
[dev-dependencies]
|
||||
assert_approx_eq = "1.1.0"
|
||||
|
|
|
@ -6,7 +6,6 @@ use crate::ffi;
|
|||
use crate::internal_tricks::Unsendable;
|
||||
use crate::types::PyAny;
|
||||
use crate::Python;
|
||||
use spin;
|
||||
use std::ptr::NonNull;
|
||||
use std::{any, sync};
|
||||
|
||||
|
@ -124,7 +123,7 @@ struct ReleasePool {
|
|||
borrowed: ArrayList<NonNull<ffi::PyObject>>,
|
||||
pointers: *mut Vec<NonNull<ffi::PyObject>>,
|
||||
obj: Vec<Box<dyn any::Any>>,
|
||||
p: spin::Mutex<*mut Vec<NonNull<ffi::PyObject>>>,
|
||||
p: parking_lot::Mutex<*mut Vec<NonNull<ffi::PyObject>>>,
|
||||
}
|
||||
|
||||
impl ReleasePool {
|
||||
|
@ -134,7 +133,7 @@ impl ReleasePool {
|
|||
borrowed: ArrayList::new(),
|
||||
pointers: Box::into_raw(Box::new(Vec::with_capacity(256))),
|
||||
obj: Vec::with_capacity(8),
|
||||
p: spin::Mutex::new(Box::into_raw(Box::new(Vec::with_capacity(256)))),
|
||||
p: parking_lot::Mutex::new(Box::into_raw(Box::new(Vec::with_capacity(256)))),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue