[package]
edition = "2021"
name = "mcslock"
version = "0.4.2"
authors = ["Pedro de Matos Fedricci <pedromfedricci@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
An implementation of Mellor-Crummey and Scott contention-free
lock for mutual exclusion, referred to as MCS lock.
"""
documentation = "https://docs.rs/mcslock"
readme = "README.md"
keywords = [
"mutex",
"no_std",
"spinlock",
"synchronization",
]
categories = [
"algorithms",
"concurrency",
"no-std",
"no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/pedromfedricci/mcslock"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
barging = []
lock_api = ["dep:lock_api"]
thread_local = []
yield = []
[lib]
name = "mcslock"
path = "src/lib.rs"
[[example]]
name = "barging"
path = "examples/barging.rs"
required-features = ["barging"]
[[example]]
name = "lock_api"
path = "examples/lock_api.rs"
required-features = [
"lock_api",
"barging",
]
[[example]]
name = "raw"
path = "examples/raw.rs"
[[example]]
name = "thread_local"
path = "examples/thread_local.rs"
required-features = ["thread_local"]
[dependencies.lock_api]
version = "0.4"
optional = true
default-features = false
[target."cfg(loom)".dev-dependencies.loom]
version = "0.7"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(loom)",
"cfg(tarpaulin)",
"cfg(tarpaulin_include)",
]