[package]
name = "procref"
version = "0.1.0"
edition = "2021"
description = "Cross-platform process reference counting for shared service lifecycle management"
license = "MIT"
repository = "https://github.com/putao520/procref"
authors = ["putao520"]
keywords = ["ipc", "process", "reference-counting", "lifecycle", "shared-service"]
categories = ["os", "concurrency"]
[features]
default = ["tokio"]
tokio = ["dep:tokio"]
[dependencies]
anyhow = "1.0"
thiserror = "1.0"
parking_lot = "0.12"
tracing = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = { version = "0.4", features = ["serde"] }
dirs = "5.0"
tokio = { version = "1", features = ["sync", "time", "rt"], optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
nix = { version = "0.29", features = ["sched", "process", "signal"] }
libc = "0.2"
[target.'cfg(target_os = "macos")'.dependencies]
mach2 = "0.4"
libc = "0.2"
[target.'cfg(target_os = "windows")'.dependencies]
windows-sys = { version = "0.59", features = [
"Win32_Foundation",
"Win32_System_Threading",
"Win32_Security",
"Win32_System_SystemServices"
]}
[dev-dependencies]
tempfile = "3"
tokio = { version = "1", features = ["full", "test-util"] }