handruin / spdif-ka

SPDIF Keep Alive utility
MIT License
64 stars 11 forks source link

Prevent multiple instances #25

Closed ngreyling closed 7 years ago

ngreyling commented 7 years ago

Prevent multiple competing instances by having the application check whether it is the only instance when it is run.

handruin commented 7 years ago

Does this stop me from opening more than one instance of the spdif-ka utility because the Mutex is looking for another Mutex named "Globalspdif-ka_mutex"? From what I can tell a new Mutex is instantiated without ownership and a specified name and then a wait of zero milliseconds is specified.

ngreyling commented 7 years ago

My understanding of the way this works is that a new mutex is created with the name "Global\spdif-ka_mutex". Any subsequent instance that is launched while the first instance is still running will try to immediately (waiting zero milliseconds) acquire a lock on a mutex using that same name. Because it is already in use, it will immediately fail to do so.

handruin commented 7 years ago

Thanks for adding this. I'll merge it in and start testing with it.