LINUX.ORG.RU

Синхронизация процессов, mutex, автоосвобождение при закрытии процесса.

 , ,


0

1

Приветсвую уважаемые форумчане!

Подскажите пожалуйста способ синхронизации процессов для доступа к общему ресурсу по типу mutex, с автоматическим освобождением занятого mutex-а в случае завершения процесса.


Ответ на: комментарий от pathfinder

Нет. Ни мьютексы в расшаренной памяти, ни семафоры, ни rw_lock, ничего не разблокируют при завершении процессов.

Vic
() автор топика
Ответ на: комментарий от DELIRIUM

Заюзай уже atexit() и успокойся

при нормальном завершении часто можно и без этого обойтись, а как быть при segfault'е, например?

anonymous
()

RAII

И сигналы на случай киллов и крэшей.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Решено.

Работает так как надо. Спасибо tailgunner за направление, жалко что доступных примеров нет, набросал свой.

Если кому инетерсно, вот демо пример, компилируйет, пробуйте, ничего сложно нет: http://pastebin.com/10SwSJDj

Vic
() автор топика
Ответ на: комментарий от pathfinder

Недостаток lockf() в том, что нельзя сделать блокировку НЕ бесконечной. В реальных нормальных хороших правильных программах блокирвка, конечно же, НЕ бесконечная.

ИМХО, в линуксе много что сделано не так приятно, как должно было быть... но, что имеем, то и вводим...

Vic
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.