<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Be lost in thought... &#187; signal</title>
	<atom:link href="http://nineye.net/blog/archives/tag/signal/feed" rel="self" type="application/rss+xml" />
	<link>http://nineye.net/blog</link>
	<description>Nineye's personal weblog!!!</description>
	<lastBuildDate>Mon, 30 Aug 2010 08:40:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>서로 다른 mutex의 중첩된 동기화</title>
		<link>http://nineye.net/blog/archives/685</link>
		<comments>http://nineye.net/blog/archives/685#comments</comments>
		<pubDate>Sun, 05 Apr 2009 15:30:29 +0000</pubDate>
		<dc:creator>Nineye</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[condition signal]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[signal]]></category>
		<category><![CDATA[syncronization]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://nineye.net/blog/?p=685</guid>
		<description><![CDATA[필자가 만드는 서버의 구조 개선을 하다가, 구조적인 문제로 다음과 같은 상황을 접하게 되었다.
수십 수백 개의 thread들이 경쟁하는 상황에서, lock에 사용되는 mutexA와 mutexB가 있을 때, 두 mutex의 critical section이 아래와 같은 모습이 되면 dead lock이 발생될 수 있을까?

…
Lock(mutexA);
…
Lock(mutexB);
…
Unlock(mutexB);
…
Unlock(mutexA);
…

일단 처음에는 dead lock이 발생할 수 있을 것 같다고 생각했으나, 계속 생각하다 보니, 논리적으로 문제가 없을 것 같다는 생각을 [...]]]></description>
		<wfw:commentRss>http://nineye.net/blog/archives/685/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux signals</title>
		<link>http://nineye.net/blog/archives/126</link>
		<comments>http://nineye.net/blog/archives/126#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:58:08 +0000</pubDate>
		<dc:creator>Nineye</dc:creator>
				<category><![CDATA[learning os]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[signal]]></category>

		<guid isPermaLink="false">http://nineye.net/blog/?p=126</guid>
		<description><![CDATA[Signal Name Number Description
SIGHUP 1 Hangup (POSIX)
SIGINT 2 Terminal interrupt (ANSI)
SIGQUIT 3 Terminal quit (POSIX)
SIGILL 4 Illegal instruction (ANSI)
SIGTRAP 5 Trace trap (POSIX)
SIGIOT 6 IOT Trap (4.2 BSD)
SIGBUS 7 BUS error (4.2 BSD)
SIGFPE 8 Floating point exception (ANSI)
SIGKILL 9 Kill(can&#8217;t be caught or ignored) (POSIX)
SIGUSR1 10 User defined signal 1 (POSIX)
SIGSEGV 11 Invalid memory segment [...]]]></description>
		<wfw:commentRss>http://nineye.net/blog/archives/126/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>signal handler 세팅</title>
		<link>http://nineye.net/blog/archives/121</link>
		<comments>http://nineye.net/blog/archives/121#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:43:11 +0000</pubDate>
		<dc:creator>Nineye</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[signal]]></category>
		<category><![CDATA[signal handler]]></category>

		<guid isPermaLink="false">http://nineye.net/blog/archives/121</guid>
		<description><![CDATA[리눅스에서 process가 실행 도중 signal이 발생되면 특별한 처리가 없으면 종료되어 버림.
그런데 signal중에서도 SIGPIPE나 SIGIGN같은 signal들은 발생하더라도
process가 계속 진행되길 바랄때가 있다.
이럴 때 signal handler를 세팅하면 거기서 signal 발생 시, 특정 signal에 대해 처리할 수 있다.
아래는 예제&#8230;
void signal_handler(int signo) {
if ( signo == SIGINT &#124;&#124; signo == SIGTERM ) {
// print log
thWtSLog0(THLOGS_HAPPYMAIN, &#8220;get SIGINT or SIGTERM&#8221;);
exit(0);
} else [...]]]></description>
		<wfw:commentRss>http://nineye.net/blog/archives/121/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
