|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 16 Mar 2003 02:55:42 To : maxim Subject : Re: - IPC Блокировка noname pipe возможно ли? -------------------------------------------------------------------------------- Здравствуй, maxim. >> M> приветствую всех >> M> у меня проблем .. >> M> возможно ли реализовать монопольную блокировку дескриптора неименованного >> M> канала? Проблема блокировки стоит критично. Реализация данной задачи через >> M> name pipe (FIFO-pipe) реализована, но зарублена руководством((( >> M> use Fcntl qw(:Default :flock) >> M> .. >> M> open(PIPE,"| ./loger.pl") or die $!; >> M> select PIPE; >> M> $|=1; >> M> select STDOUT; >> M> flock(PIPE,LOCK_EX) or die $!; >> M> ... >> M> close(PIPE) or die $!; >> M> .. >> M> используя библиотеку Fcntl в контексте рекомендательной блокировки flock.. m> > Можно, надо полагать. А что, собственно, надо? Сделать блокировку между m> детьми m> > вот этого зверя? Между недетьми, очевидно, нельзя. m> Есть скрипт по разбору почты (технологической). Sendmail при получении m> нескольких писем на заданное мыло запускает для каждого письма 1 копию m> мого скрипта.. и передает его (письма) содержимое на входной поток проги. m> ПРОБЛЕМА: Как мне организовать ведение логов (6 шт.) чтобы их содержимое m> было читабельным? То есть процессы не связаны между собой. Тогда это не один пайп, а много разных пайпов. Поскольку они разные - хоть обблокируйся. m> При простом реализации возникает проблема совместного доступа к файлам m> логов.. несколькими процессами. Процессы получаются не родственные. m> Собственно говоря надо лорганицовать очередь, чтоыб упорядочить все это m> безобразие. В литературе для сего рекомендуют FIFO-pipe .. и такой логер m> был написан .. и проблема очереди не возникла. Hо по ряду причин его m> использовать нельзя. И мне нужно подругому реализовать данную задачу. m> Через noname-pipe какбы работает, но нигде не написано о блокировке такого m> канала т.е. нет никакой гарантии что все будет упорядоченнно. Смотря что в твоем понимании "упорядоченно". Есть, например, syslog. В его понимании "упорядоченно" - это в порядке поступления вызовов syslog(). Внутри там реализовано черех фифошку или сокет /dev/log, но внутри syslog(). m> Если кто то знает ОТВЕТТЕ как эту проблему можно решить? Если ты сформулируешь внятно, в чем проблема... -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11477ac987e36.html, оценка из 5, голосов 10
|