Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: - IPC Блокировка noname pipe возможно ли?   Artem Chuprina   16 Mar 2003 02:55:42 
Архивное /ru.perl/11477ac987e36.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional