<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_3067"  />
<title>rulinux.net - Форум - Development - Создание потока в обработчике сигнала</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - Создание потока в обработчике сигнала</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19307</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19307</guid>
<pubDate>Mon, 03 Aug 2009 12:07:29 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; Чем для этого не подходят средства IPC?</p><p>Сигналы это и есть одно из средств IPC.</p><p style="font-style:italic">&gt конкретный материал.</p><p>В твоём случае невежество столь удивительно велико, что даже трудно предложить что-то конкретное. Ты даже "man signal" не удосужился прочесть. Нагугли себе самый простецкий букварь, и пользуйся. Запрос "сигналы unix" думаю подойдёт.</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19306</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19306</guid>
<pubDate>Fri, 24 Jul 2009 11:03:11 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; для взаимодействия процессов между собой, а так же процессов и ядра, кретин ты наш.</p><p>Чем для этого не подходят средства IPC?</p><p style="font-style:italic">&gt кретин ты наш. Сходи маны почитай.</p><p>Вот когда человек не блещет интеллектом - это сразу видно по его хамству и неспособности сослаться на конкретный материал.</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19305</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19305</guid>
<pubDate>Fri, 24 Jul 2009 10:56:52 +0400</pubDate>
<description><![CDATA[<p>для взаимодействия процессов между собой, а так же процессов и ядра, кретин ты наш. Сходи маны почитай.</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19304</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19304</guid>
<pubDate>Fri, 24 Jul 2009 00:41:11 +0400</pubDate>
<description><![CDATA[<p>Зачем тогда этот механизм вообще нужен?</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19303</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19303</guid>
<pubDate>Fri, 24 Jul 2009 00:18:54 +0400</pubDate>
<description><![CDATA[<p>аккуратно. Не использовать в многопоточном процессе, итд, как в мане указано</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19302</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19302</guid>
<pubDate>Thu, 23 Jul 2009 23:32:41 +0400</pubDate>
<description><![CDATA[<p style="font-style:italic">&gt; сигналами можно пользоваться </p><p>Поясни - как в описанном случае можно пользоваться сигналами? :-P</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19301</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19301</guid>
<pubDate>Thu, 23 Jul 2009 23:23:10 +0400</pubDate>
<description><![CDATA[<p>нет, ты не имеешь. сигналами можно пользоваться и пользуются, а ты совершенно бесполезное существо, не читающее маны</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19300</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19300</guid>
<pubDate>Thu, 23 Jul 2009 10:50:52 +0400</pubDate>
<description><![CDATA[<p>Да-да. С его ёбнутыми сигналами, не имеющими права на существование :)</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19299</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19299</guid>
<pubDate>Thu, 23 Jul 2009 10:17:52 +0400</pubDate>
<description><![CDATA[<p>это POSIX, детка</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19298</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19298</guid>
<pubDate>Thu, 23 Jul 2009 09:40:07 +0400</pubDate>
<description><![CDATA[<p>Пездец как здорово.. Я теперь понял, почему некоторые утвеждают, что линукс - стабильная ОС: раз его поведение настолько неопределено, то можно смело утверждать, что он стабильно выполняет неопределенную работу. </p><p></p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19297</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19297</guid>
<pubDate>Thu, 23 Jul 2009 08:42:01 +0400</pubDate>
<description><![CDATA[<p>man 2 signal</p><p style="font-style:italic">&gt The effects of this call in a multi-threaded process are unspecified.</p><p style="font-style:italic">&gt POSIX has the concept of "safe function".  If a signal interrupts  an  unsafe function, and handler calls an unsafe function, then the behavior is undefined. Safe functions are listed explicitly in the various standards.</p><p>не то?</p>]]></description>
</item>
<item>
<title>Re:Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19296</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19296</guid>
<pubDate>Thu, 23 Jul 2009 08:29:39 +0400</pubDate>
<description><![CDATA[<p>вобщем решил проблему так - код потока создавашегося из обработчика переместил в обработчик, а остальным потокам заблокировал SIGUSR1 с помощью pthread_sigmask()</p>]]></description>
</item>
<item>
<title>Создание потока в обработчике сигнала</title>
<link>https://rulinux.net/message.php?newsid=3067&amp;page=1#19295</link>
<guid>https://rulinux.net/message.php?newsid=3067&amp;page=1#19295</guid>
<pubDate>Thu, 23 Jul 2009 07:24:34 +0400</pubDate>
<description><![CDATA[<p><a href="http://pastebin.com/m7a46279">http://pastebin.com/m7a46279</a></p><p>Простейший код, 37 строк.</p><p>На SIGUSR1 вешается обработчик сигнала usr1_nandler(), который запускает поток th2(), выполняющий временную задержку в 5 сек</p><p>Запускается поток th1(), выполняющий временную задержку в 20 сек. С помощью pthread_join() ожидается его завершение.</p><p>Все бы хорошо, но почему-то по-завершении usr1_nandler(), сработавшего от внешнего сигнала, завершается pthread_join() и сама программа, не дождавшись завершения th1().</p><p>вобщем вывод: "main start" "th1 start" "usr1 sig" "th2 start" "usr1 sig end" "join" "main end"</p><p>хотя вроде должен быть: "main start" "th1 start" "usr1 sig" "th2 start" "usr1 sig end" "th2 end" "th1 end" "join" "main end"</p><p>если в конце main() вставить sleep(20), то: "main start" "th1 start" "usr1 sig" "th2 start" "usr1 sig end" "join" "th2 end" "th1 end" "main end"</p><p>Если в обработчике поток не создавать, то работает правильно.., если сигнал посылать из самой программы с помощью raise(), то работает правильно .., я в замешательстве</p><p>Может кто-нибудь знает в чем дело, почему проиходит ложное срабатывание pthread_join?</p>]]></description>
</item>
</channel>
</rss>