While running the first instance of the below app it prints "Acquired". However if i start the second one it waits for 1 min. During that interval if press enter and leave the "first instance" it throws "Wait Completed Due to abandoned mutex" exception in second instance. Is it not suppose to acquire the thread?! (As the first instance released it already?!)
using (var m1 = new Mutex(false, "consoleapp"))
{
if (!m1.WaitOne(60000, false))
{
Console.WriteLine("It is already runnig");
}
else
{
Console.WriteLine("Acquired");
Console.ReadLine();
}
}