<?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 for Thiago Macieira&#039;s blog</title> <atom:link href="http://www.macieira.org/blog/comments/feed/" rel="self" type="application/rss+xml" /><link>http://www.macieira.org/blog</link> <description>An Open Source hacker&#039;s ramblings</description> <lastBuildDate>Fri, 07 Dec 2012 21:42:41 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Comment on The strange world of (release) candidates by Thomas Pfeiffer</title><link>http://www.macieira.org/blog/2012/12/the-strange-world-of-release-candidates/#comment-533</link> <dc:creator>Thomas Pfeiffer</dc:creator> <pubDate>Fri, 07 Dec 2012 21:42:41 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=463#comment-533</guid> <description>Great to hear that you&#039;re doing release candidates the right way™ now :)</description> <content:encoded><![CDATA[<p>Great to hear that you&#8217;re doing release candidates the right way™ now <img
src='http://www.macieira.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Comment on The strange world of (release) candidates by The strange world of (release) candidates - Bartle Doo</title><link>http://www.macieira.org/blog/2012/12/the-strange-world-of-release-candidates/#comment-531</link> <dc:creator>The strange world of (release) candidates - Bartle Doo</dc:creator> <pubDate>Fri, 07 Dec 2012 07:18:13 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=463#comment-531</guid> <description>[...] http://bugreports.qt-project.org.Let’s try and get the final out by the end of the year.  Source: Planet KDE GD Star [...]</description> <content:encoded><![CDATA[<p>[...] <a
href="http://bugreports.qt-project.org.Let’s" rel="nofollow">http://bugreports.qt-project.org.Let’s</a> try and get the final out by the end of the year.  Source: Planet KDE GD Star [...]</p> ]]></content:encoded> </item> <item><title>Comment on Qt 5.0 beta 1 is out by Pau Garcia Quiles</title><link>http://www.macieira.org/blog/2012/08/qt-5-0-beta-1-is-out/#comment-524</link> <dc:creator>Pau Garcia Quiles</dc:creator> <pubDate>Sat, 01 Sep 2012 23:59:36 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=456#comment-524</guid> <description>@Thiago,
Not prelinking is not really a problem for a database daemon, which is probably only restarted a few times a year tops. A desktop application is obviously different.</description> <content:encoded><![CDATA[<p>@Thiago,</p><p>Not prelinking is not really a problem for a database daemon, which is probably only restarted a few times a year tops. A desktop application is obviously different.</p> ]]></content:encoded> </item> <item><title>Comment on Qt 5.0 beta 1 is out by Thiago Macieira</title><link>http://www.macieira.org/blog/2012/08/qt-5-0-beta-1-is-out/#comment-520</link> <dc:creator>Thiago Macieira</dc:creator> <pubDate>Fri, 31 Aug 2012 11:26:43 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=456#comment-520</guid> <description>@Pau: that works, but it has an overhead cost and it can&#039;t be prelinked.</description> <content:encoded><![CDATA[<p>@Pau: that works, but it has an overhead cost and it can&#8217;t be prelinked.</p> ]]></content:encoded> </item> <item><title>Comment on Qt 5.0 beta 1 is out by Thiago Macieira</title><link>http://www.macieira.org/blog/2012/08/qt-5-0-beta-1-is-out/#comment-519</link> <dc:creator>Thiago Macieira</dc:creator> <pubDate>Fri, 31 Aug 2012 11:26:24 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=456#comment-519</guid> <description>@Digitalus: it&#039;s an option we&#039;re considering, but I&#039;m not sure of the benefit. Distributions will build packages anyway, so why should we? I&#039;d much rather that their packagers join us and publish their RPMs and DEBs and whatnot at the same time as the source code is released.</description> <content:encoded><![CDATA[<p>@Digitalus: it&#8217;s an option we&#8217;re considering, but I&#8217;m not sure of the benefit. Distributions will build packages anyway, so why should we? I&#8217;d much rather that their packagers join us and publish their RPMs and DEBs and whatnot at the same time as the source code is released.</p> ]]></content:encoded> </item> <item><title>Comment on Qt 5.0 beta 1 is out by Digitalus</title><link>http://www.macieira.org/blog/2012/08/qt-5-0-beta-1-is-out/#comment-517</link> <dc:creator>Digitalus</dc:creator> <pubDate>Fri, 31 Aug 2012 07:40:02 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=456#comment-517</guid> <description>What about using openSUSE Build Service for GNU/Linux binaries? It can compile packages for most major GNU/Linux distributions.</description> <content:encoded><![CDATA[<p>What about using openSUSE Build Service for GNU/Linux binaries? It can compile packages for most major GNU/Linux distributions.</p> ]]></content:encoded> </item> <item><title>Comment on Qt 5.0 beta 1 is out by Pau Garcia Quiles</title><link>http://www.macieira.org/blog/2012/08/qt-5-0-beta-1-is-out/#comment-516</link> <dc:creator>Pau Garcia Quiles</dc:creator> <pubDate>Thu, 30 Aug 2012 22:54:08 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=456#comment-516</guid> <description>&lt;i&gt; developers went to the “OpenSSL School of Releasing” (along with the Boost developers) and haven’t learned yet to make binary-compatible releases&lt;/i&gt;
A proprietary database we use solves this problem in an interesting way:
They only depend (DT_NEEDED) on libc
They dlopen all dependencies that you would normally link to
They dlsym every function they depend on. I&#039;ve been told they use some kind of autogenerated wrapper (which includes workaround implementations) but I have not reached the actual guys in charge of this part.
This makes possible to develop applications which link to system libraries (for instance, libssl) and their libraries (which also link to libssl).
It&#039;s quite a bit of work and it&#039;s certainly not something you want to do as an app developer, but for libraries on Linux, it looks like a neat solution. It&#039;s been working fine for them for quite some years already.</description> <content:encoded><![CDATA[<p><i> developers went to the “OpenSSL School of Releasing” (along with the Boost developers) and haven’t learned yet to make binary-compatible releases</i></p><p>A proprietary database we use solves this problem in an interesting way:</p><p>They only depend (DT_NEEDED) on libc<br
/> They dlopen all dependencies that you would normally link to<br
/> They dlsym every function they depend on. I&#8217;ve been told they use some kind of autogenerated wrapper (which includes workaround implementations) but I have not reached the actual guys in charge of this part.</p><p>This makes possible to develop applications which link to system libraries (for instance, libssl) and their libraries (which also link to libssl).</p><p>It&#8217;s quite a bit of work and it&#8217;s certainly not something you want to do as an app developer, but for libraries on Linux, it looks like a neat solution. It&#8217;s been working fine for them for quite some years already.</p> ]]></content:encoded> </item> <item><title>Comment on forkfd part 4: proposed solutions by Thiago Macieira</title><link>http://www.macieira.org/blog/2012/07/forkfd-part-4-proposed-solutions/#comment-512</link> <dc:creator>Thiago Macieira</dc:creator> <pubDate>Mon, 30 Jul 2012 23:37:43 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=434#comment-512</guid> <description>You&#039;re more likely to run into a process limit than an fd limit.
That functionality you propose is interesting, but doesn&#039;t solve my problem for QProcess. I need in QProcess to be woken up when &lt;b&gt;my&lt;/b&gt; child process has died. If the code wakes up for other processes, it&#039;s just spurious CPU usage. What&#039;s more, remember that this must work simultaneously from multiple threads, in which case one fd might not be a good idea.</description> <content:encoded><![CDATA[<p>You&#8217;re more likely to run into a process limit than an fd limit.</p><p>That functionality you propose is interesting, but doesn&#8217;t solve my problem for QProcess. I need in QProcess to be woken up when <b>my</b> child process has died. If the code wakes up for other processes, it&#8217;s just spurious CPU usage. What&#8217;s more, remember that this must work simultaneously from multiple threads, in which case one fd might not be a good idea.</p> ]]></content:encoded> </item> <item><title>Comment on forkfd part 4: proposed solutions by Colin Walters</title><link>http://www.macieira.org/blog/2012/07/forkfd-part-4-proposed-solutions/#comment-511</link> <dc:creator>Colin Walters</dc:creator> <pubDate>Mon, 30 Jul 2012 14:12:37 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=434#comment-511</guid> <description>One fd per child process is kind of unfortunate for some use cases; for example, I have a build program kind of like &#039;make&#039; that may launch a lot of child processes, and it&#039;s actually pretty easy to run up against the 1024 limit.
Why not make it like a bit more like signalfd, so you&#039;d have forkfd_create()/forkfd_add_child(), and read() returns a structure that has data for a child?</description> <content:encoded><![CDATA[<p>One fd per child process is kind of unfortunate for some use cases; for example, I have a build program kind of like &#8216;make&#8217; that may launch a lot of child processes, and it&#8217;s actually pretty easy to run up against the 1024 limit.</p><p>Why not make it like a bit more like signalfd, so you&#8217;d have forkfd_create()/forkfd_add_child(), and read() returns a structure that has data for a child?</p> ]]></content:encoded> </item> <item><title>Comment on forkfd part 2: Finding out that a child process exited on Unix by Thiago Macieira</title><link>http://www.macieira.org/blog/2012/07/forkfd-part-2-finding-out-that-a-child-process-exited-on-unix/#comment-508</link> <dc:creator>Thiago Macieira</dc:creator> <pubDate>Fri, 27 Jul 2012 23:19:30 +0000</pubDate> <guid
isPermaLink="false">http://www.macieira.org/blog/?p=416#comment-508</guid> <description>@Olivier: Either way, it&#039;s still not thread-safe. We could have that sig_atomic_t extra to indicate whether the old handler is set, but it&#039;s not thread-safe. The other option is worse because another thread could install another handler in-between and we&#039;d lose it.
By the way, sig_atomic_t is enough for atomicity with signals, but not with multithreading. For that, you need C11 or C++11 and a real atomic, with a store-release operation. My code uses the proper semantics.</description> <content:encoded><![CDATA[<p>@Olivier: Either way, it&#8217;s still not thread-safe. We could have that sig_atomic_t extra to indicate whether the old handler is set, but it&#8217;s not thread-safe. The other option is worse because another thread could install another handler in-between and we&#8217;d lose it.</p><p>By the way, sig_atomic_t is enough for atomicity with signals, but not with multithreading. For that, you need C11 or C++11 and a real atomic, with a store-release operation. My code uses the proper semantics.</p> ]]></content:encoded> </item> </channel> </rss>