<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: locks</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html</link>
    <description>Всем привет. &lt;br&gt;Не могли бы вы помочь разобраться с одним вопросом, а именно: что будет если заблочить файл fcntl&apos;ем, а на другом терминале cat&apos;ом попытаться его читать?&lt;br&gt;</description>

<item>
    <title>locks (PavelR)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#7</link>
    <pubDate>Mon, 09 Jun 2014 19:10:34 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Там все так же читается.&lt;br&gt;&amp;gt;&amp;gt; Прекрасно! Задача решена. Неси преподу.&lt;br&gt;&amp;gt; Так а почему именно так происходит?&lt;br&gt;&lt;br&gt;Потому что эти  блокировки носят уведомительный характер.&lt;br&gt;</description>
</item>

<item>
    <title>locks (Анатолий)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#6</link>
    <pubDate>Mon, 09 Jun 2014 13:38:49 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Там все так же читается.&lt;br&gt;&amp;gt; Прекрасно! Задача решена. Неси преподу.&lt;br&gt;&lt;br&gt;Так а почему именно так происходит?&lt;br&gt;</description>
</item>

<item>
    <title>locks (Andrey Mitrofanov)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#5</link>
    <pubDate>Mon, 09 Jun 2014 11:10:31 GMT</pubDate>
    <description>&amp;gt; Там все так же читается.&lt;br&gt;&lt;br&gt;Прекрасно! Задача решена. Неси преподу.&lt;br&gt;</description>
</item>

<item>
    <title>locks (Анатолий)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#4</link>
    <pubDate>Mon, 09 Jun 2014 10:49:50 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;  int fd; &lt;br&gt;&amp;gt;&amp;gt;  lock-&amp;gt;l_type=F_WRLCK; &lt;br&gt;&amp;gt;&amp;gt;  if ((fd = open(&quot;path&quot;, NULL)) == -1) &lt;br&gt;&amp;gt;&amp;gt;   perror(&quot;open error&quot;); &lt;br&gt;&amp;gt;&amp;gt;  fcntl(fd, F_SETLKW, lock); &lt;br&gt;&amp;gt; puts(&quot;Посмотри, чего там с котом в другой консоли, потом нажми Enter.&quot;); &lt;br&gt;&amp;gt; gets(); &lt;br&gt;&amp;gt;&amp;gt;  return EXIT_SUCCESS; &lt;br&gt;&amp;gt;&amp;gt; &#125; &lt;br&gt;&amp;gt; http://www.opennet.ru/openforum/vsluhforumID3/96238.html#46 &lt;br&gt;&lt;br&gt;Там все так же читается.&lt;br&gt;</description>
</item>

<item>
    <title>locks (Andrey Mitrofanov)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#3</link>
    <pubDate>Mon, 09 Jun 2014 10:24:48 GMT</pubDate>
    <description>&amp;gt; int main(int argc, char **argv) &lt;br&gt;&amp;gt; &#123; &lt;br&gt;&amp;gt;  struct flock *lock; &lt;br&gt;&amp;gt;  int fd; &lt;br&gt;&amp;gt;  lock-&amp;gt;l_type=F_WRLCK; &lt;br&gt;&amp;gt;  if ((fd = open(&quot;path&quot;, NULL)) == -1) &lt;br&gt;&amp;gt;   perror(&quot;open error&quot;); &lt;br&gt;&amp;gt;  fcntl(fd, F_SETLKW, lock); &lt;br&gt;&lt;br&gt;puts(&quot;Посмотри, чего там с котом в другой консоли, потом нажми Enter.&quot;);&lt;br&gt;gets();&lt;br&gt;&lt;br&gt;&amp;gt;  return EXIT_SUCCESS; &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&lt;br&gt;http://www.opennet.ru/openforum/vsluhforumID3/96238.html#46&lt;br&gt;</description>
</item>

<item>
    <title>locks (Анатолий)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#2</link>
    <pubDate>Mon, 09 Jun 2014 10:18:29 GMT</pubDate>
    <description>&amp;gt;&amp;gt;что будет если &lt;br&gt;&amp;gt; Хорошая задача!! Предлагаю Научный Метод Тыка.&lt;br&gt;&amp;gt; Обязательно проверь _все флаги fcntl() и все их сочетания.&lt;br&gt;&lt;br&gt;Попробовал различные флаги, попробовал установить sgid бит на права доступа к файлу для mandatory блокировки, все равно читается.&lt;br&gt;&lt;br&gt;вот код:&lt;br&gt;&lt;br&gt;#include &amp;lt;unistd.h&amp;gt;&lt;br&gt;#include &amp;lt;errno.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/stat.h&amp;gt;&lt;br&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;br&gt;#include &amp;lt;string.h&amp;gt;&lt;br&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;&lt;br&gt;int main(int argc, char **argv)&lt;br&gt;&#123;&lt;br&gt;struct flock *lock;&lt;br&gt;int fd;&lt;br&gt;lock-&amp;gt;l_type=F_WRLCK;&lt;br&gt;if ((fd = open(&quot;path&quot;, NULL)) == -1)&lt;br&gt;perror(&quot;open error&quot;);&lt;br&gt;fcntl(fd, F_SETLKW, lock);&lt;br&gt;return EXIT_SUCCESS;&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>locks (Andrey Mitrofanov)</title>
    <link>https://89.19.215.112/openforum/vsluhforumID10/5257.html#1</link>
    <pubDate>Mon, 09 Jun 2014 09:14:38 GMT</pubDate>
    <description>&amp;gt;что будет если&lt;br&gt;&lt;br&gt;Хорошая задача!! Предлагаю Научный Метод Тыка.&lt;br&gt;Обязательно проверь _все флаги fcntl() и все их сочетания.&lt;br&gt;</description>
</item>

</channel>
</rss>
