В Windows я решил эту проблему, создав именованный семафор. Если плагин 1 сработает, удерживая семафор, семафор отпущен. Но это не так с Posix (на Mac), где семафор остается живым. Поскольку sigaction не выпустит SIGKILL на семафоре, я должен отказаться от него.Как предотвратить запуск нескольких экземпляров процесса (плагин NPAPI) в Posix?
Какой у меня лучший вариант.
Названные трубы, порты, очередь сообщений, выполнение удаленной функции?
Это звучит немного необычно. Какую проблему вы на самом деле пытаетесь решить здесь? Вам нужно бронировать доступ к одному обычному процессу/устройству/.../что-то? –
Нет, плагин npapi запускает видео, и мы не хотим, чтобы к ним показывались экземпляры проигрывателя. – sgowd
А, так что вы на самом деле не хотите, чтобы плагины не работали, но им нечего делать. Любая потенциальная проблема с основанием этого на коротких тайм-аутах, когда другая берет верх, если временная метка не обновлялась в 'N' ms? –