<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Bug in Perl&#8217;s Thread::Semaphore: Memory Leak (solution provided)</title>
	<atom:link href="http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/feed/" rel="self" type="application/rss+xml" />
	<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/</link>
	<description>Yet Another Admin&#039;s blog</description>
	<lastBuildDate>Thu, 04 Feb 2010 07:58:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Atento</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-176835</link>
		<dc:creator>Atento</dc:creator>
		<pubDate>Sat, 20 Mar 2010 12:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-176835</guid>
		<description>Мега thanx вам с Sam Vilain !!
Я столкнулся с той же проблемой, и моментально нашел этот пост через

http://www.google.ru/search?complete=1&amp;hl=ru&amp;newwindow=1&amp;q=perl+threads+semaphore+memory+leak&amp;btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&amp;lr=</description>
		<content:encoded><![CDATA[<p>Мега thanx вам с Sam Vilain !!<br />
Я столкнулся с той же проблемой, и моментально нашел этот пост через</p>
<p><a href="http://www.google.ru/search?complete=1&amp;hl=ru&amp;newwindow=1&amp;q=perl+threads+semaphore+memory+leak&amp;btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&amp;lr=" rel="nofollow">http://www.google.ru/search?complete=1&amp;hl=ru&amp;newwindow=1&amp;q=perl+threads+semaphore+memory+leak&amp;btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&amp;lr=</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MySQL Master-Master Replication Manager 1.0 Released :: Homo-Adminus Blog by Alexey Kovyrin</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-158951</link>
		<dc:creator>MySQL Master-Master Replication Manager 1.0 Released :: Homo-Adminus Blog by Alexey Kovyrin</dc:creator>
		<pubDate>Sat, 20 Mar 2010 17:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-158951</guid>
		<description>[...] semaphores implementation caused huge memory leaks [...]</description>
		<content:encoded><![CDATA[<p>[...] semaphores implementation caused huge memory leaks [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: she</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-67687</link>
		<dc:creator>she</dc:creator>
		<pubDate>Sat, 20 Mar 2010 09:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-67687</guid>
		<description>Ruby&#039;s syntax is better than Python&#039;s syntax.

That was the main seller for me.

Yes, having to use &quot;ends&quot; can be redundant, but you dont have to NEED USE whitespace for code that works (compare irb to python interpreter for example)

You dont have to carry implicit (self) which is so annoying to read.

You can omit () if it fits your style or you are lazy. 

Last but not least, using classes and objects in 
ruby doesnt feel like a fix-up solution like in Python.</description>
		<content:encoded><![CDATA[<p>Ruby&#8217;s syntax is better than Python&#8217;s syntax.</p>
<p>That was the main seller for me.</p>
<p>Yes, having to use &#8220;ends&#8221; can be redundant, but you dont have to NEED USE whitespace for code that works (compare irb to python interpreter for example)</p>
<p>You dont have to carry implicit (self) which is so annoying to read.</p>
<p>You can omit () if it fits your style or you are lazy. </p>
<p>Last but not least, using classes and objects in<br />
ruby doesnt feel like a fix-up solution like in Python.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sharifulin</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-66210</link>
		<dc:creator>sharifulin</dc:creator>
		<pubDate>Sat, 20 Mar 2010 17:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-66210</guid>
		<description>&gt;Я до сих пор не понимаю, как можно в 2007-м &gt;году вот так вот тупо оставаться на уровне &gt;85-го года с “поддержкой” тредов через жо^H^H &gt;форки…
Вот это вы сильно написали :)
Треды не реализованы через форк. Если бы так было, то зачем тогда нужны были треды, новый алиас?

В доке по threads::shared (Thread::Semaphore подключает) в разделе BUGS написано: &quot;bless is not supported on shared references. In the current version, bless will only bless the thread local reference and the blessing will not propagate to the other threads. This is expected to be implemented in a future version of Perl&quot;. 
Такое бывает, когда натыкаешься на баг  модуля. Здесь два решения:
- либо ждать новой версии,
- либо обойти  этот баг.
Вы обошли, но зря поменяли названия модуля,  нужно было оставить то же название, положить в директорию, где находится скрипт и в самом скрипте:
 BEGIN { unshift @INC, pop @INC } # perl hack
 use Threads::Semaphore;

Когда выйдет обновление, можно все скрипты grep&#039;нуть на наличие такого комментария и убрать &quot;затычки&quot;.
Такое решение очень эффективно, т.к. каждый день Perl становится все лучше и лучше.

Кстати, можно было не использовать Thread::Semaphore, а просто указать lock там, где надо :)

На счет &quot;комьюнити которых тупо плюет в лицо человеку пришедшему с проблемой в их core libraries&quot; - обычно люди, хорошо разбирающиеся в каком-то деле, не сидят в чатах, у них на это времени нет.

&gt;А не стоит ли нам выбросить на помойку старые “мертвые” языки
Perl - точно НЕ стоит!</description>
		<content:encoded><![CDATA[<p>&gt;Я до сих пор не понимаю, как можно в 2007-м &gt;году вот так вот тупо оставаться на уровне &gt;85-го года с “поддержкой” тредов через жо^H^H &gt;форки…<br />
Вот это вы сильно написали <img src='http://kovyrin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Треды не реализованы через форк. Если бы так было, то зачем тогда нужны были треды, новый алиас?</p>
<p>В доке по threads::shared (Thread::Semaphore подключает) в разделе BUGS написано: &#8220;bless is not supported on shared references. In the current version, bless will only bless the thread local reference and the blessing will not propagate to the other threads. This is expected to be implemented in a future version of Perl&#8221;.<br />
Такое бывает, когда натыкаешься на баг  модуля. Здесь два решения:<br />
- либо ждать новой версии,<br />
- либо обойти  этот баг.<br />
Вы обошли, но зря поменяли названия модуля,  нужно было оставить то же название, положить в директорию, где находится скрипт и в самом скрипте:<br />
 BEGIN { unshift @INC, pop @INC } # perl hack<br />
 use Threads::Semaphore;</p>
<p>Когда выйдет обновление, можно все скрипты grep&#8217;нуть на наличие такого комментария и убрать &#8220;затычки&#8221;.<br />
Такое решение очень эффективно, т.к. каждый день Perl становится все лучше и лучше.</p>
<p>Кстати, можно было не использовать Thread::Semaphore, а просто указать lock там, где надо <img src='http://kovyrin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>На счет &#8220;комьюнити которых тупо плюет в лицо человеку пришедшему с проблемой в их core libraries&#8221; &#8211; обычно люди, хорошо разбирающиеся в каком-то деле, не сидят в чатах, у них на это времени нет.</p>
<p>&gt;А не стоит ли нам выбросить на помойку старые “мертвые” языки<br />
Perl &#8211; точно НЕ стоит!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scoundrel</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-63499</link>
		<dc:creator>Scoundrel</dc:creator>
		<pubDate>Sat, 20 Mar 2010 06:27:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-63499</guid>
		<description>2Mons: Согласитесь, что &quot;хорошо&quot; и &quot;чтобы работало&quot; - это разные вещи. Я хотел от перла именно &quot;чтобы работало&quot; - у меня не сильно критичное к роизводительности и т.п. вещам приложение... но оно работает месяцами без перезапуска и меморилики в базовых операциях с тредами (семафорами) просто недопустимы.

А насчет винды и форка - так его нет и все тут... вот если бы он был, но работал криво - это было бы корректное сравнение... хотя все равно - не стоит в ней работать :-P</description>
		<content:encoded><![CDATA[<p>2Mons: Согласитесь, что &#8220;хорошо&#8221; и &#8220;чтобы работало&#8221; &#8211; это разные вещи. Я хотел от перла именно &#8220;чтобы работало&#8221; &#8211; у меня не сильно критичное к роизводительности и т.п. вещам приложение&#8230; но оно работает месяцами без перезапуска и меморилики в базовых операциях с тредами (семафорами) просто недопустимы.</p>
<p>А насчет винды и форка &#8211; так его нет и все тут&#8230; вот если бы он был, но работал криво &#8211; это было бы корректное сравнение&#8230; хотя все равно &#8211; не стоит в ней работать <img src='http://kovyrin.net/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mons</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-63042</link>
		<dc:creator>Mons</dc:creator>
		<pubDate>Sat, 20 Mar 2010 12:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-63042</guid>
		<description>Извините, а у какого веб-языка на юниксе хорошо реализованы треды?
Практически к любому приложению, даже на сях, идет коммент: треды вы можете попробовать поюзать, но лучше не надо.
Да, это особенность среды, в которой форк исторически был быстрее создания треда.

Прикопайтесь еще к примеру, что в винде нет форка. что за бред работать в такой системе в 2007 году.</description>
		<content:encoded><![CDATA[<p>Извините, а у какого веб-языка на юниксе хорошо реализованы треды?<br />
Практически к любому приложению, даже на сях, идет коммент: треды вы можете попробовать поюзать, но лучше не надо.<br />
Да, это особенность среды, в которой форк исторически был быстрее создания треда.</p>
<p>Прикопайтесь еще к примеру, что в винде нет форка. что за бред работать в такой системе в 2007 году.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Петр</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-49189</link>
		<dc:creator>Петр</dc:creator>
		<pubDate>Sat, 20 Mar 2010 08:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-49189</guid>
		<description>Видимо, он не только хам.
Потоки в других языках тоже сильно увы.</description>
		<content:encoded><![CDATA[<p>Видимо, он не только хам.<br />
Потоки в других языках тоже сильно увы.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scoundrel</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-48614</link>
		<dc:creator>Scoundrel</dc:creator>
		<pubDate>Sat, 20 Mar 2010 21:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-48614</guid>
		<description>2Петр:
Мне об это рассказал тот самый core-девелопер, с которым мы разбирались с проблемой... Может я его правда понял как-то не так... Но anyways, семафоры у них дохлые :-)</description>
		<content:encoded><![CDATA[<p>2Петр:<br />
Мне об это рассказал тот самый core-девелопер, с которым мы разбирались с проблемой&#8230; Может я его правда понял как-то не так&#8230; Но anyways, семафоры у них дохлые <img src='http://kovyrin.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Петр</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-48612</link>
		<dc:creator>Петр</dc:creator>
		<pubDate>Sat, 20 Mar 2010 21:25:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-48612</guid>
		<description>&gt; они реально в перле через форки
Где можно прочитать об этом?

Мои предположения основаны на доке: http://search.cpan.org/~jdhedden/threads-1.58/threads.pm</description>
		<content:encoded><![CDATA[<p>&gt; они реально в перле через форки<br />
Где можно прочитать об этом?</p>
<p>Мои предположения основаны на доке: <a href="http://search.cpan.org/~jdhedden/threads-1.58/threads.pm" rel="nofollow">http://search.cpan.org/~jdhedden/threads-1.58/threads.pm</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Solovyov</title>
		<link>http://kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/comment-page-1/#comment-48435</link>
		<dc:creator>Alexander Solovyov</dc:creator>
		<pubDate>Sat, 20 Mar 2010 14:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kovyrin.net/2007/01/25/bug-in-perls-threadsemaphore-memory-leak-solution-provided/#comment-48435</guid>
		<description>&gt; А насчет питона - не могу себя сломать. отступы эти…. :-)

Стоит только один раз попробовать, и ты втянешься. :)</description>
		<content:encoded><![CDATA[<p>&gt; А насчет питона &#8211; не могу себя сломать. отступы эти…. <img src='http://kovyrin.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Стоит только один раз попробовать, и ты втянешься. <img src='http://kovyrin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
