<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow">
    <title>gmane.comp.lang.perl.perl-mongers.moscow</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9996"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9995"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9994"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9993"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9992"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9991"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9990"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9989"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9988"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9987"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9986"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9985"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9984"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9983"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9982"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9981"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9980"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9979"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9978"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9977"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9996">
    <title>Re: $SIG{CHLD}</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9996</link>
    <description>&lt;pre&gt;18.05.2012 15:03, Alexandr Alexeev написал:

Типо того, поэтому и нужен цикл - хендлер будет вызван один раз, но 
waitpid будет возвращать столько значений сколько померло детей

"If a signal of any given type fires multiple times during an opcode 
(such as from a fine-grained timer), the handler for that signal will be 
called only once, after the opcode completes; all other instances will 
be discarded"


&lt;/pre&gt;</description>
    <dc:creator>Alexey Shrub</dc:creator>
    <dc:date>2012-05-18T12:20:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9995">
    <title>Re: $SIG{CHLD}</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9995</link>
    <description>&lt;pre&gt;"поэтому не обработает несколько одновременных сигналов"

Если память не изменяет, сигналы вообще имеют свойство теряться, ибо не
кладутся они в очередь.

18 мая 2012 г., 15:52 пользователь Alexey Shrub &amp;lt;worldmind&amp;lt; at &amp;gt;mail.ru&amp;gt; написал:




&lt;/pre&gt;</description>
    <dc:creator>Alexandr Alexeev</dc:creator>
    <dc:date>2012-05-18T12:03:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9994">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9994</link>
    <description>&lt;pre&gt;
да, точно ((( интересно это линух-специфично или на фре например тоже?

но в любом случае, можно попробовать дополнить рецепт: первый сокет открыть без LocalPort,
через getsockname вытащить номер порта вызанный системой, и дальше реюзать его

&lt;/pre&gt;</description>
    <dc:creator>Dmitry Karasik</dc:creator>
    <dc:date>2012-05-18T11:53:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9993">
    <title>$SIG{CHLD}</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9993</link>
    <description>&lt;pre&gt;Привет всем,

заметил что в доках неполные примеры для обработки сигнала CHLD, тут
http://perldoc.perl.org/perlipc.html#Signals
дано три примера,, первый блокирующий - неактуально для меня, второй 
якобы не учитывает CHLD от внешних команд, третий типо учитывает, но он 
уже не содержит цикла while и поэтому не обработает несколько 
одновременных сигналов (если сразу несколько потомков померло) т.е. 
второй нужно скрещивать с третьим.
Мало того, там не описано что CHLD может приходить и в случаях отличных 
от смерти дитя, это написано тут
http://docstore.mik.ua/orelly/perl/cookbook/ch16_20.htm
попробовал скрестить&lt;/pre&gt;</description>
    <dc:creator>Alexey Shrub</dc:creator>
    <dc:date>2012-05-18T11:52:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9992">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9992</link>
    <description>&lt;pre&gt;

в статье написано (и это получается так и есть), что если локалпорт не
указывать, то и опция ReuseAddr тоже смысла не имеет.

то есть код IO::Socket::INET-&amp;gt;new(PeerAddr =&amp;gt; '127.0.0.1', PeerPort =&amp;gt;
$port, ReuseAddr =&amp;gt; 1);

точно так же приводит к тому что данное приложение кроме себя мешает
жить и остальным тоже
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T11:03:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9991">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9991</link>
    <description>&lt;pre&gt;
Убрать LocalPort, пусть система сама перебирает. LocalPort для
исходящих сокетов мало когда имеет смысл назначать.

&lt;/pre&gt;</description>
    <dc:creator>Dmitry Karasik</dc:creator>
    <dc:date>2012-05-18T10:58:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9990">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9990</link>
    <description>&lt;pre&gt;

это я на перле/Debian не могу попробовать. Perl5.14 жалуется на то что
данная опция данным вендром не поддерживается
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T10:58:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9989">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9989</link>
    <description>&lt;pre&gt;
спасибо за ссылку. хгм

my $s = IO::Socket::INET-&amp;gt;new(PeerAddr =&amp;gt; '127.0.0.1', PeerPort =&amp;gt;
$port, ReuseAddr =&amp;gt; 1, LocalAddr =&amp;gt; '127.0.0.1', LocalPort =&amp;gt; 9110);

теперь на эту ошибку нарывается только сам скрипт. то есть раз в
секунду две вылетает пачка ошибок и дальше проблема рассасывается

вопрос остается: как модифицировать данный скрипт чтобы вообще не
налетать на данную проблему? вручную перебирать порты до удачного
результата?
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T10:55:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9988">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9988</link>
    <description>&lt;pre&gt;
а если еще и SO_REUSEPORT ?

&lt;/pre&gt;</description>
    <dc:creator>Dmitry Karasik</dc:creator>
    <dc:date>2012-05-18T10:55:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9987">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9987</link>
    <description>&lt;pre&gt;

добавил опцию ReuseAddr в вышеприведенный скрипт. ничего не меняется в
результатах
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T10:42:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9986">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9986</link>
    <description>&lt;pre&gt;http://pzz.livejournal.com/9564.html

18.05.2012, 14:29, "Sergey Aleynikov" &amp;lt;sergey.aleynikov&amp;lt; at &amp;gt;gmail.com&amp;gt;:
&lt;/pre&gt;</description>
    <dc:creator>Orlovsky Alexander</dc:creator>
    <dc:date>2012-05-18T10:39:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9985">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9985</link>
    <description>&lt;pre&gt;Добрый день,

keywords: bind+before+connect, SO_REUSEADDR

Best regards,
Sergey Aleynikov
&lt;/pre&gt;</description>
    <dc:creator>Sergey Aleynikov</dc:creator>
    <dc:date>2012-05-18T10:29:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9984">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9984</link>
    <description>&lt;pre&gt;на это я наткнулся на том что сделали на twiggy небольшой сервис на
коннекте, который в режиме запрос-ответ выполняет некую задачу.

по самой постановке задачи делать keeep-alive невозможно, то есть один
запрос = 1 коннекту. ну и на сравнительно небольшой нагрузке налетаем
на эти проблемы.
ну а далее дошли до nginx в виде сервера и скрипта не на AE в виде
клиента. 
то есть нужна какая-то ручка в OS которая это регулирует.

кто нибудь хорошо знает сетевую подсистему линукс? какую ручку
подергать?
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T10:20:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9983">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9983</link>
    <description>&lt;pre&gt;
1 и даже 0 ничего не меняют в картинке
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T10:09:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9982">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9982</link>
    <description>&lt;pre&gt;Подкрутить /proc/sys/net/ipv4/tcp_fin_timeout
(там значение в секундах)

On Fri, 18 May 2012 13:55:29 +0400, Ivan Petrov
&amp;lt;i.petro.77.00&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:

&lt;/pre&gt;</description>
    <dc:creator>iSage</dc:creator>
    <dc:date>2012-05-18T09:59:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9981">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9981</link>
    <description>&lt;pre&gt;
ну да их там тыщи. вопрос как модифицировать скрипт и (или) сервер
(см. предыдущее письмо) чтобы от этого избавиться. или может есть
ручки в ядре?
&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T09:55:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9980">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9980</link>
    <description>&lt;pre&gt;


вот такой скрипт:

без всяких AE.

#!/usr/bin/perl

use warnings;
use strict;

use utf8;
use open qw(:std :utf8);
use IO::Socket::INET;

my $port = $ARGV[0];


while(1) {
    my $s = IO::Socket::INET-&amp;gt;new(PeerAddr =&amp;gt; '127.0.0.1', PeerPort =&amp;gt; $port);
    printf "Приконнектились: %s\n", $s ? 'да' : $!;
    close $s if $s;
}

берем скажем nginx и пускаем скрипт с параметром 80

через какое-то время исчерпываются свободные порты.

при этом и nginx и скрипт в /proc/PID/fd показывают около десятка
открытых сокетов всего.

похоже OS (Linux 3.1) имеет тайм некоторый на возврат порта в список
"свободных"

в другой рассылке посоветовали 3.2 посмотреть, там де какой-то баг
фиксили именно на эту тему, но я еще &lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T09:53:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9979">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9979</link>
    <description>&lt;pre&gt;
если с undef $handle все работало, то можно запустить урезанные версии
скрипта под strace и сравнить чем эти две конструкции так сильно отличаются
...
можно еще попробовать покрутить системный somaxconn но непохоже по диагнозу если честно

&lt;/pre&gt;</description>
    <dc:creator>Dmitry Karasik</dc:creator>
    <dc:date>2012-05-18T09:09:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9978">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9978</link>
    <description>&lt;pre&gt;netstat -ntpa|grep TIME_WAIT? 

В Птн, 18/05/2012 в 11:03 +0400, Ivan Petrov пишет:


&lt;/pre&gt;</description>
    <dc:creator>Гнатына Александр</dc:creator>
    <dc:date>2012-05-18T07:53:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9977">
    <title>Re: непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9977</link>
    <description>&lt;pre&gt;Приветствую! 

 
А ОС-то какая? Тут, мне кажется, не в перле дело (тем более, что соединяется 
скрипт, а не работает браузер)

--
WBR,
Konstantin S. Uvarin
&lt;/pre&gt;</description>
    <dc:creator>Konstantin S. Uvarin</dc:creator>
    <dc:date>2012-05-18T07:47:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9976">
    <title>непонятный стук</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.perl.perl-mongers.moscow/9976</link>
    <description>&lt;pre&gt;есть приложение (БД), заточенное под быструю обработку запросов
клиентов.

есть скрипт который в цикле делает
    1. коннект
    2. запрос
    3. дисконнект

далее, знаем PID БД, PID скрипта и смотрим в нескольких терминалах

watch 'ls /proc/PID/fd/'

и видим что ни БД ни скрипт не имеют ни в какой момент времени более
10-15 открытых сокетов.
спустя минут 10 работы скрипт и вообще все приложения (включая
браузер) отваливаются "сеть недоступна".

в dmesg сообщений нет. в логах тоже.

потом все восстанавливается.

если скрипт будет делать паузы небольшие между коннектами, то все
может работа&lt;/pre&gt;</description>
    <dc:creator>Ivan Petrov</dc:creator>
    <dc:date>2012-05-18T07:03:46</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.perl.perl-mongers.moscow">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.perl.perl-mongers.moscow</link>
  </textinput>
</rdf:RDF>

