public void InitializeAndLock_Reentrancy_DoesNotBlock() { using (var mutex = new GlobalMutex("test")) { using (mutex.InitializeAndLock()) { using (mutex.Lock()) {} } } }
public void InitializeAndLock_CreatedNew_ReturnsTrue() { using (var mutex = new GlobalMutex("test")) { mutex.Unlink(); bool createdNew; using (mutex.InitializeAndLock(out createdNew)) {} Assert.That(createdNew, Is.True); } }
public void InitializeAndLock_Existing_ReturnsFalse() { using (var mutex1 = new GlobalMutex("test")) { mutex1.Initialize(); using (var mutex2 = new GlobalMutex("test")) { bool createdNew; using (mutex2.InitializeAndLock(out createdNew)) {} Assert.That(createdNew, Is.False); } } }