[devel] /var/lock/rpm/update-vimhelp
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_altlinux=2Eru?=
Ср Июл 9 11:24:10 MSD 2008
* Dmitry V. Levin <ldv@> [080709 02:03]:
> > > Если parent сделал open, а потом fork, child выполнил
> > > F_SETLK, а parent потом завершился, то блокировка слетит в
> > > момент завершения parent.
> > Какова вероятность, что при возврате из daemon() parent ещё не
> > умер?
> Около 50%
Какое унылое [censored] эта GNU/RaceOS...
Если унести open() после daemon(), неудачное открытие файла
немного намусорит в консоль. Ещё один race между close() и
execvp(), кто-то может туда просочиться. Если close() не делать,
этот fd уйдёт в "тот процесс". А mandatory locks можно сказать
что не работают.
Можно пойти сложным путём, делать open() и fcntl() до вызова
daemon(), потом делать ещё один fcntl(F_SETLKW) чтобы дождаться
смерти parent'а. Или вызывать wait_for_pdeath() с pid'ом
parent'а, но это мне нравится ещё меньше.
Закоммитил первый вариант с мусором и утечкой дескриптора.
--
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080709/ad86ba29/attachment-0002.bin>
Подробная информация о списке рассылки Devel