<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10pt"><div><span>Так в последнем предложении было сказано, что это учитывается.</span></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-style: normal;"><br><span></span></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-style: normal;"><span></span></div><div style="display: block;" class="yahoo_quoted"> <br> <br> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 10pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue,
 Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> On Wednesday, 9 October 2013, 11:47, Гришаев Анатолий <0body0@rambler.ru> wrote:<br> </font> </div>  <div class="y_msg_container"><div id="yiv6134009867"><div>
    <div class="yiv6134009867moz-cite-prefix">AnyEvent::HTTP сохраняет коннекты для
      повторного использования и после fork с ними происходит каша...<br clear="none">
      <br clear="none">
      Попробуй до fork использовать AnyEvent::HTTP с параметром
      keepalive => 0<br clear="none">
      <br clear="none">
      <br clear="none">
      09.10.2013 7:26, ksvs пишет:<br clear="none">
    </div>
    <div class="yiv6134009867yqt5946806063" id="yiv6134009867yqt55651"><blockquote type="cite">
      <div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10pt;">
        <div>Есть приложение, в котором главный процесс и дочерние
          общаются между собой по сокетам, используя EV модуль.<br clear="none">
          Дочерние процессы получают информацию от главного, делают HTTP
          запросы, анализируют и возвращают результат главному. В
          дочерних процессах запросы идут параллельно с использованием
          либо Net::Curl::Multi, либо AnyEven::HTTP.<br clear="none">
          <br clear="none">
          Все было отлично, пока не понадобилось в главном процессе
          перед fork, сделать HTTMP запрос. LWP использовать можно, но
          не хочется.<br clear="none">
          Используемые варианты:<br clear="none">
          1. Делаем первый запрос при помощи AnyEven::HTTP, дочерние
          работают с Curl - все отлично. Это для проверки.<br clear="none">
          2. Делаем первый запрос при помощи AnyEven::HTTP на
          несуществующий адрес, дочерние работают с AnyEven::HTTP - все
          нормально.<br clear="none">
          3. Делаем первый запрос при помощи AnyEven::HTTP на
          существующий адрес, работа AnyEven::HTTP в дочерних процессах
          зависает. При этом общение между процессами идет: гонял ping
          для подтверждения того, что EV не завис и система коммуникаций
          между процессами жива.<br clear="none">
          <br clear="none">
          Может кто-то сталкивался с таким поведением AnyEven::HTTP?<br clear="none">
          <br clear="none">
          Сделал максимально простой вариант для теста.<br clear="none">
          В нем с первоначальным вызовом AnyEven::HTTP, в дочернем
          процессе AnyEven::HTTP, стал работать, но очень-очень
          медленно. Точнее все зависит от того, как карты лягут: без
          первого вызова время выполнения 1,24 секунды, а с первым -
          может быть 21 секунд, а может быть 5 секунд.<br clear="none">
          <br clear="none">
          <br clear="none">
          Но ведь с Curl работает отлично. Значит дело не в EV, а в
          AnyEven::HTTP.<br clear="none">
          Для подтверждения этого вместо первого вызова AnyEven::HTTP,
          сделал просто открытие сокета, EV::WRITE, EV::READ - все
          работает отлично.<br clear="none">
          <br clear="none">
          AnyEven::HTTP настраивал, чтобы он закрывал все сокеты. Это
          перед форком. Да и делается ведь EV::break перед форком.<br clear="none">
          <br clear="none">
          Интересно понять причину этого.</div>
      </div>
      <br clear="none">
      <fieldset class="yiv6134009867mimeAttachmentHeader"></fieldset>
      <br clear="none">
    </blockquote></div>
    <br clear="none">
    <br clear="none">
    <div class="yiv6134009867moz-signature">-- <br clear="none">
      С уважением Анатолий.</div>
  </div></div><br><div class="yqt5946806063" id="yqt90621">-- <br clear="none">Moscow.pm mailing list<br clear="none"><a shape="rect" ymailto="mailto:moscow-pm@pm.org" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a shape="rect" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a><br clear="none"></div><br><br></div>  </div> </div>  </div> </div></body></html>