<?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: Farewell PRLock; I hardly knew thee</title>
	<atom:link href="http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/</link>
	<description>Mozilla hacks and suchlike</description>
	<lastBuildDate>Mon, 09 Jan 2012 07:35:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: dbradley</title>
		<link>http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/comment-page-1/#comment-3871</link>
		<dc:creator>dbradley</dc:creator>
		<pubDate>Fri, 01 Apr 2011 14:03:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/cjones/?p=11#comment-3871</guid>
		<description>I very much agree, a try lock would be great and seems like a good time to add it given these changes.</description>
		<content:encoded><![CDATA[<p>I very much agree, a try lock would be great and seems like a good time to add it given these changes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cjones</title>
		<link>http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/comment-page-1/#comment-5</link>
		<dc:creator>cjones</dc:creator>
		<pubDate>Wed, 06 May 2009 05:40:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/cjones/?p=11#comment-5</guid>
		<description>There are no plans to extend the API at the moment, but we could add &#124;Trylock()&#124; pretty easily.  NSPR already has it, but it&#039;s private to NSPR.  You can file a bug on it if you&#039;d find it really useful.

&gt; 1) have a useful install that can run outside of the environment of whoever runs them now

Sort of.  The install is a little tedious, but it&#039;s documented here:

https://developer.mozilla.org/En/Pork

However, there&#039;s a &quot;magic&quot; new tool that hasn&#039;t landed yet.  It should happen soon.  I&#039;ll blog about it in the near future.

&gt; 2) run on non-libxul (i.e. external) code?

Yup, nothing Mozilla-specific here.</description>
		<content:encoded><![CDATA[<p>There are no plans to extend the API at the moment, but we could add |Trylock()| pretty easily.  NSPR already has it, but it&#8217;s private to NSPR.  You can file a bug on it if you&#8217;d find it really useful.</p>
<p>&gt; 1) have a useful install that can run outside of the environment of whoever runs them now</p>
<p>Sort of.  The install is a little tedious, but it&#8217;s documented here:</p>
<p><a href="https://developer.mozilla.org/En/Pork" rel="nofollow">https://developer.mozilla.org/En/Pork</a></p>
<p>However, there&#8217;s a &#8220;magic&#8221; new tool that hasn&#8217;t landed yet.  It should happen soon.  I&#8217;ll blog about it in the near future.</p>
<p>&gt; 2) run on non-libxul (i.e. external) code?</p>
<p>Yup, nothing Mozilla-specific here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mook</title>
		<link>http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/comment-page-1/#comment-4</link>
		<dc:creator>Mook</dc:creator>
		<pubDate>Wed, 06 May 2009 05:09:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/cjones/?p=11#comment-4</guid>
		<description>There is no plans to expand the API beyond what NSPR provides, correct?  (In particular, a trylock would be awesome, but isn&#039;t exposed by NSPR.)

Do the magic rewriting tools 1) have a useful install that can run outside of the environment of whoever runs them now, and 2) run on non-libxul (i.e. external) code?</description>
		<content:encoded><![CDATA[<p>There is no plans to expand the API beyond what NSPR provides, correct?  (In particular, a trylock would be awesome, but isn&#8217;t exposed by NSPR.)</p>
<p>Do the magic rewriting tools 1) have a useful install that can run outside of the environment of whoever runs them now, and 2) run on non-libxul (i.e. external) code?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cjones</title>
		<link>http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/comment-page-1/#comment-3</link>
		<dc:creator>cjones</dc:creator>
		<pubDate>Tue, 05 May 2009 23:43:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/cjones/?p=11#comment-3</guid>
		<description>Hey, I said *proto*-non-failing, didn&#039;t I? :)  BTW, it&#039;s not all that bad of an idea, especially for sync primitives.</description>
		<content:encoded><![CDATA[<p>Hey, I said *proto*-non-failing, didn&#8217;t I? <img src='http://blog.mozilla.com/cjones/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   BTW, it&#8217;s not all that bad of an idea, especially for sync primitives.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Biesinger</title>
		<link>http://blog.mozilla.com/cjones/2009/05/04/farewell-prlock-i-hardly-knew-thee/comment-page-1/#comment-2</link>
		<dc:creator>Christian Biesinger</dc:creator>
		<pubDate>Tue, 05 May 2009 22:15:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mozilla.com/cjones/?p=11#comment-2</guid>
		<description>&gt; Their constructors use a proto-non-failing malloc, so your code will never see out-of-memory errors.

The patch looks like the way it doesn&#039;t fail is by aborting:
+        mLock = PR_NewLock();
+        if (!mLock)
+            NS_RUNTIMEABORT(&quot;Can&#039;t allocate mozilla::Mutex&quot;);

seems like a horrible idea to me, but whatever...</description>
		<content:encoded><![CDATA[<p>&gt; Their constructors use a proto-non-failing malloc, so your code will never see out-of-memory errors.</p>
<p>The patch looks like the way it doesn&#8217;t fail is by aborting:<br />
+        mLock = PR_NewLock();<br />
+        if (!mLock)<br />
+            NS_RUNTIMEABORT(&#8220;Can&#8217;t allocate mozilla::Mutex&#8221;);</p>
<p>seems like a horrible idea to me, but whatever&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

