Задачу можно свести к "Запуск одной копии приложения". Только чтобы это было кросс-платформенное решение — а именно хочется boost.
Кроме как создавать shared memory что еще есть? named_mutex не совсем понял — решает проблему или нет?
Здравствуйте, Аноним, Вы писали:
А>Задачу можно свести к "Запуск одной копии приложения". Только чтобы это было кросс-платформенное решение — а именно хочется boost. А>Кроме как создавать shared memory что еще есть? named_mutex не совсем понял — решает проблему или нет?
Для того named_mutex и сделан. Используйте try_lock();
Здравствуйте, Аноним, Вы писали:
А>Задачу можно свести к "Запуск одной копии приложения". Только чтобы это было кросс-платформенное решение — а именно хочется boost. А>Кроме как создавать shared memory что еще есть? named_mutex не совсем понял — решает проблему или нет?
Кросс-платформнно наверное будет сложно сделать. В той же винде имя мьютекса должно иметь специальный вид чтобы быть глобально уникальным.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, Аноним, Вы писали:
А>Задачу можно свести к "Запуск одной копии приложения". Только чтобы это было кросс-платформенное решение — а именно хочется boost. А>Кроме как создавать shared memory что еще есть? named_mutex не совсем понял — решает проблему или нет?
В wxWidgets для win, например, wxSingleInstanceChecker сделан через CreateMutex, а для unix через временный файл.
Здравствуйте, Аноним, Вы писали:
А>Задачу можно свести к "Запуск одной копии приложения". Только чтобы это было кросс-платформенное решение — а именно хочется boost. А>Кроме как создавать shared memory что еще есть?
Совсем кросс-платформенно — кросс-платформенное вряд ли получится, но во многих местах получится, если приложение будет эксклюзивно файл открывать и держать, например...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском