<?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: g_thread_cancel</title>
	<atom:link href="http://blogs.gnome.org/hughsie/2007/11/20/g_thread_cancel/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/hughsie/2007/11/20/g_thread_cancel/</link>
	<description>Blog about geeky stuff</description>
	<lastBuildDate>Sun, 29 Jan 2012 09:38:55 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Anonymous</title>
		<link>http://blogs.gnome.org/hughsie/2007/11/20/g_thread_cancel/comment-page-1/#comment-141</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 20 Nov 2007 18:06:09 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/hughsie/2007/11/20/g_thread_cancel/#comment-141</guid>
		<description>I think the bottom line is that you can&apos;t safely cancel threads in C/POSIX unless they were written to push cleanup handlers: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/term_threads.htm And yeah, no one does that. Using separate processes isn&apos;t a panacea either; sending SIGKILL to a backend is just as unsafe if it wasn&apos;t written to expect to be killed.  For example, if it uses files as database locks.  Doing so won&apos;t happen to crash the main packagekit process, but the system is still hosed. Bottom line is each backend will have to be evaluated for cancelability, and will probably need to be canceled in a backend-specific way.</description>
		<content:encoded><![CDATA[<p>I think the bottom line is that you can&apos;t safely cancel threads in C/POSIX unless they were written to push cleanup handlers: <a href="http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/term_threads.htm" rel="nofollow">http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/term_threads.htm</a> And yeah, no one does that. Using separate processes isn&apos;t a panacea either; sending SIGKILL to a backend is just as unsafe if it wasn&apos;t written to expect to be killed.  For example, if it uses files as database locks.  Doing so won&apos;t happen to crash the main packagekit process, but the system is still hosed. Bottom line is each backend will have to be evaluated for cancelability, and will probably need to be canceled in a backend-specific way.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/hughsie/2007/11/20/g_thread_cancel/feed/ ) in 1.15447 seconds, on Feb 11th, 2012 at 11:55 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 12th, 2012 at 12:55 am UTC -->
