Exemplo n.º 1
0
        public void ReleaseLock_Unlocked_LockFileDoesNotExist()
        {
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            fileLock.ReleaseLock();
            Assert.That(File.Exists(LockPath), Is.False);
        }
Exemplo n.º 2
0
        public void TryAcquireLock_Unlocked_ReturnsTrue()
        {
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            Assert.That(fileLock.TryAcquireLock(), Is.True);
            fileLock.ReleaseLock();
        }
Exemplo n.º 3
0
 private void EventWatcher_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (fileLock != null)
     {
         fileLock.ReleaseLock();
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Releases the token when client is finished with it
 ///
 /// Even though it is a very good idea to release the token when finished with it,
 /// in the event of a crash, the file is released anyway meaning another application can get it.
 /// </summary>
 public static void ReleaseToken()
 {
     if (s_fileLock != null)
     {
         s_fileLock.ReleaseLock();
         s_fileLock = null;
     }
 }
Exemplo n.º 5
0
        public void ReleaseLock_HasLock_LockFileDoesNotExist()
        {
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            Assert.That(fileLock.TryAcquireLock(), Is.True);
            fileLock.ReleaseLock();
            Assert.That(File.Exists(LockPath), Is.False);
        }
Exemplo n.º 6
0
        public void TryAcquireLock_OldEmptyFileLock_ReturnsTrue()
        {
            File.WriteAllText(LockPath, "");
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            Assert.That(fileLock.TryAcquireLock(), Is.True);
            fileLock.ReleaseLock();
        }
Exemplo n.º 7
0
        public void ReleaseLock_LockFileCurrentlyOpen_LockFileExists()
        {
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            using (File.Open(LockPath, FileMode.Create))
            {
                fileLock.ReleaseLock();
            }
            Assert.That(File.Exists(LockPath), Is.True);
        }
Exemplo n.º 8
0
        public void TryAcquireLock_LockedByDeadProcess_ReturnsTrue()
        {
            LockIO.WriteLock(LockPath, new FileLockContent
            {
                PID         = 9999,
                ProcessName = Path.GetRandomFileName(),
                Timestamp   = DateTime.Now.Ticks
            });
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            Assert.That(fileLock.TryAcquireLock(), Is.True);
            fileLock.ReleaseLock();
        }
Exemplo n.º 9
0
        public void ReleaseLock_LockedByActiveProcess_LockFileExists()
        {
            LockIO.WriteLock(LockPath, new FileLockContent
            {
                PID         = ActiveProcessId,
                ProcessName = GetSafeActiveProcessName(),
                Timestamp   = DateTime.Now.Ticks
            });
            SimpleFileLock fileLock = SimpleFileLock.Create("SimpleFileLockTests");

            fileLock.ReleaseLock();
            Assert.That(File.Exists(LockPath), Is.True);
        }