Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ClO_own
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 7
#1

Наследование дескриптора семафора другими процессами - C++

21.04.2012, 15:00. Просмотров 640. Ответов 3
Метки нет (Все метки)

Доброго времени суток, проблема в следующем: пишу приложение, которое использует семафоры. Мне нужно, чтобы дескриптор семафора мог наследоваться другими процессами, т.е если я 1 раз создал семафор в программе и не убил его, то при открытии другой копии этой программы она могла получить доступ к уже созданному семафору.
C
1
2
3
4
5
6
HANDLE WINAPI CreateSemaphore(
  __in_opt  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
  __in      LONG lInitialCount,
  __in      LONG lMaximumCount,
  __in_opt  LPCTSTR lpName
);
Не знаю как в атрибутах задать наследование дескритора из структуры _SECURITY_ATTRIBUTES

C
1
2
3
4
5
typedef struct _SECURITY_ATTRIBUTES {
  DWORD  nLength;
  LPVOID lpSecurityDescriptor;
  BOOL   bInheritHandle;
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
Перерыл мсдн, но проблема не решилась.. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2012, 15:00     Наследование дескриптора семафора другими процессами
Посмотрите здесь:

Работа семафора в разных процессах - C++
Процессы: Reder и несколько Sender'ов Собственно, есть семафор который управляет доступом к файлу... Реализован он в Reder'e и нужно...

Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 - C++
Как заблокировать выполнение процесса с помощью semop, пока значение семафора не равно 1 ? необязательно единицы, можно любое число, это не...

Как по требованию вызвать дескриптора объекта? - C++
Здрасти! Подскажите пожалуйста, как вызвать дескриптор объекта myCar до сообщения "End of programm"?: class Car { public: ...

Передача дескриптора текущего процесса через mailslot - C++
Пытаюсь передать дескриптор текущего процесса и его ID через mailslot. ID проходит норм, сами сообщения "ID процесса" и "Дескриптор" тоже...

Операции с процессами - C++
Решил написать маленький нубо анти-чит :tomatos: . но тут возникла проблема, я не могу найти подходящей литературы. Задача такова: нужно,...

Управление процессами и потоками - C++
Найти сумму (n и 1), (n-1 и 2) и т.д. элементов массива. Обработка каждой суммы в порожденном процессе(потоке). После завершения каждый...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
21.04.2012, 15:48     Наследование дескриптора семафора другими процессами #2
Clwn, а в чем проблема? вы хотите чтобы семафором могли пользоваться только ваши приложения?
если не заострять внимание на паранойе - то просто создаете именованный семафор
ClO_own
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 7
21.04.2012, 15:57  [ТС]     Наследование дескриптора семафора другими процессами #3
проблема в том, что если просто создать семафор
C
1
CreateSemaphore(NULL, 1, 127, "BlockForReading")
то при открытии другой копии приложения эта копия не видит дескриптор уже существующего семафора.

как я понял именно в
C
1
BOOL   bInheritHandle;
лежит решение, т.к значение TRUE позволяет использовать дескритор другим процессам.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2012, 16:15     Наследование дескриптора семафора другими процессами
Еще ссылки по теме:

Канал между процессами - C++
Задача у программы такова. Имеется основная программа(main) и две дополнительных(prc1 и prc2). В prc1 и prc2 стоит прогресс бар, который...

Системные вызовы и работа с процессами - C++
Помогите пожалуйста с такой задачей: Родительский процесс считывает стандартной входной поток, передает его дочернему процессу, который...

Win32 API Работа с процессами - C++
Господа, здравствуйте! Я новичок в программировании, помогите пожалуйста в программе, не знаю как сделать. Мне нужно реализовать...

Взаимодействие между процессами двух приложений - C++
В задании к лабораторной сказано, что нужно открыть файл в одном приложении, а считывать данные с помощью другого приложения. Не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
21.04.2012, 16:15     Наследование дескриптора семафора другими процессами #4
Clwn, зачем вам такой же дескриптор (в смысле значения)? именованный семафор можно открыть по его имени (OpenSemaphore)
в этом случае две копии программы будут работать с одним и тем же семафором

хотя в OpenSemaphore есть какието параметры, смысл которых мне сразу так в голову не приходит - можно рихтера посмотреть
Yandex
Объявления
21.04.2012, 16:15     Наследование дескриптора семафора другими процессами
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru