single-instance

Crates.iosingle-instance
lib.rssingle-instance
version0.3.3
sourcesrc
created_at2018-01-30 15:51:10.52661
updated_at2021-12-16 12:55:04.567463
descriptionA rust library for single instance application.
homepage
repositoryhttps://github.com/WLBF/single-instance
max_upload_size
id48906
size12,225
junction-labs (github:junction-labs:junction-labs)

documentation

README

single-instance

Crates.io Build Status

single-instance provides a single API to check if there are any other running instance.

Detail

On windows, init SingleInstance will create a mutex named by given &str then check error code by calling GetLastError. On linux init will bind abstract unix domain socket with given name . On macos, init will create or open a file which path is given &str, then call flock to apply an advisory lock on the open file.

[dependencies]
single-instance = "0.3"

Examples

extern crate single_instance;

use single_instance::SingleInstance;

fn main() {
    {
        let instance_a = SingleInstance::new("whatever").unwrap();
        assert!(instance_a.is_single());
        let instance_b = SingleInstance::new("whatever").unwrap();
        assert!(!instance_b.is_single());
    }
    let instance_c = SingleInstance::new("whatever").unwrap();
    assert!(instance_c.is_single());
}
Commit count: 35

cargo fmt