Я хочу убедиться, что пользователи не могут запускать более одного экземпляра моего приложения. Мой псевдо-код выглядит следующим образом:
sem_t one_instance_only=sem_open(UNIQUE_NAME,O_CREAT | O_EXCL,...);
if(SEM_FAILED==one_instance_only)
{
if(E_EXIST==errno)
{
// application already running
exit(1);
}
}
sem_close(...);
//without the call to sem_unlink() the semaphore still lingering even if app not
// running
sem_unlink(...);
Я попробовал это, и он работает, но я просто хочу убедиться, что я делаю это правильно, и где-то нет места.