<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:osnews="http://osnews.com/rss2#">
	<channel>
		<title>OSNews: </title>
		<link>http://www.osnews.com/story/16709/Signals_as_a_Linux_Debugging_Tool</link>
		<description>Exploring the Future of Computing</description>
		<language>en-us</language>
		<copyright>Copyright 2001-2009, David Adams</copyright>
		<webMaster>adam+nospam@osnews.com</webMaster>
		<lastBuildDate>Tue, 10 Nov 2009 02:47:50 GMT</lastBuildDate>
		<image>
			<url>http://www.osnews.com/images/osnews.gif</url>
			<title>OSNews.com</title>
			<link>http://www.osnews.com</link>
		</image>
		<item>
			<title>do it right</title>
			<link>http://osnews.com/thread?191603</link>
			<guid isPermaLink="true">http://osnews.com/thread?191603</guid>
			<description>So many 'smart' programmers write their own handler for SIGSEGV, SIGILL etc. in the application, which often makes debugging much more complicated if not impossible.<br />
<br />
My advice: if you really want to do that, then also provide a way to disable your non-default handler at run time without the need of recompiling.<br />
<br />
BTW, better read about signal-safe and 'reentrant functions' (printf?) before write your handlers.</description>
			<pubDate>Wed, 13 Dec 2006 06:28:00 GMT</pubDate>
			<author>donotreply@osnews.com (taos)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>std=c99</title>
			<link>http://osnews.com/thread?191670</link>
			<guid isPermaLink="true">http://osnews.com/thread?191670</guid>
			<description>do i need std=c99 in order to compile the code snippets?</description>
			<pubDate>Wed, 13 Dec 2006 12:08:00 GMT</pubDate>
			<author>donotreply@osnews.com (netpython)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>Also read about EINTR from any system calls</title>
			<link>http://osnews.com/thread?191846</link>
			<guid isPermaLink="true">http://osnews.com/thread?191846</guid>
			<description>Adding signals to an application vastly complicates the entire codebase because each system call can potentially return an EINTR error code, not because of an error but because a signal got delivered during the system call.  This has implications all over the application.<br />
<br />
Still, the examples were for catastrophic signals with no recovery actions and as far as they went that's OK.<br />
<br />
Obtaining the sending context via siginfo is useful so that an application can vet the signal, but trying to decode the application context is probably useful only to a debugger.  Instead, I'd just setrlimit(2) to enable a real core dump, abort(3), and use a proper postmortem tool such as gdb(1) which is a portable solution.</description>
			<pubDate>Thu, 14 Dec 2006 00:22:00 GMT</pubDate>
			<author>donotreply@osnews.com (megacoder)</author>
			<category>Comments</category>
		</item>

		<item>
			<title>hey</title>
			<link>http://osnews.com/thread?192560</link>
			<guid isPermaLink="true">http://osnews.com/thread?192560</guid>
			<description>good info!</description>
			<pubDate>Fri, 15 Dec 2006 10:49:00 GMT</pubDate>
			<author>donotreply@osnews.com (deanlinkous)</author>
			<category>Comments</category>
		</item>
	</channel>
</rss>
