<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: read() после select()</title>
    <link>https://opennet.me/openforum/vsluhforumID9/8417.html</link>
    <description>Кусочек вывода strace:&lt;br&gt;&lt;br&gt;select(1045, &#091;16 1044&#093;, &#091;1040&#093;, &#091;&#093;, &#123;0, 148319&#125;) = 2 (in &#091;16 1044&#093;, left &#123;0, 148319&#125;)&lt;br&gt;read(16, 0xbf85241c, 4096)              = -1 EAGAIN (Resource temporarily unavailable)&lt;br&gt;&lt;br&gt;select говорит, что на двух сокетах (16 и 1044) есть готовые данные для чтения. Сразу же после этого, из 16-го сокета пытаемся читать и получаем отказ, что данных нет. Как такое может быть?&lt;br&gt;</description>

<item>
    <title>read() после select() (svn)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/8417.html#2</link>
    <pubDate>Wed, 02 Sep 2009 08:46:25 GMT</pubDate>
    <description>&amp;gt;select говорит, что на двух сокетах (16 и 1044) есть готовые данные &lt;br&gt;&amp;gt;для чтения.&lt;br&gt;&lt;br&gt;select говорит что операция чтения/записи не будет заблокирована! А вовсе не то что данные будут прочитаны или записаны.&lt;br&gt;&lt;br&gt;В твоём случае, похоже на конец файла/закрытия сокета. То есть, select тебе предлагает прочитать, чтобы узнать что это конец.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>read() после select() (Vlad Lazarenko)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/8417.html#1</link>
    <pubDate>Tue, 01 Sep 2009 12:31:19 GMT</pubDate>
    <description>&amp;gt;Кусочек вывода strace: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;select(1045, &#091;16 1044&#093;, &#091;1040&#093;, &#091;&#093;, &#123;0, 148319&#125;) = 2 (in &#091;16 1044&#093;, &lt;br&gt;&amp;gt;left &#123;0, 148319&#125;) &lt;br&gt;&amp;gt;read(16, 0xbf85241c, 4096)          &lt;br&gt;&amp;gt;    = -1 EAGAIN (Resource temporarily unavailable) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;select говорит, что на двух сокетах (16 и 1044) есть готовые данные &lt;br&gt;&amp;gt;для чтения. Сразу же после этого, из 16-го сокета пытаемся читать &lt;br&gt;&amp;gt;и получаем отказ, что данных нет. Как такое может быть? &lt;br&gt;&lt;br&gt;А Вы FD_ISSET проверьте, чтобы наверняка.&lt;br&gt;</description>
</item>

</channel>
</rss>
