´ÙÀ½ À§·Î ÀÌÀü ¸ñÂ÷ ¸®´ª½º ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °¡À̵å

10.2 ½ÅÈ£ ´Ù·ç±â (Signal Handling)

¼ö³â°£¿¡ °ÉÃÄ, ½ÅÈ£(signal)¿¡ ´ëÇÑ Á¤ÀÇ¿Í ÀǹÌ(semantics)´Â À¯´Ð½ºÀÇ ´Ù¸¥ ±¸Çöµé¿¡ ÀÇÇØ ´Ù¾çÇÑ ¹æ¹ýÀ¸·Î ¼öÁ¤µÇ¾î¿Ô´Ù. ¿À´Ã³¯, sysmbols¿¡´Â µÎ°¡Áö ÁÖ¿ä ºÎ·ù(classes)°¡ ÀÖ´Ù.: ½Å·ÚÇÒ ¼ö ¾ø´Â °Í(unreliable)°ú ½Å·ÚÇÒ ¼ö ÀÖ´Â °Í(reliable)ÀÌ´Ù. ½Å·ÚÇÒ ¼ö ¾ø´Â(unreliable) ½ÅÈ£µéÀº(signals) ½ÅÈ£ Ãë±ÞÀÚ(signal handler)°¡ Çѹø È£ÃâµÇ¾î Àνºµ¹µÈ °ÍÀÌ ³²¾ÆÀÖÁö ¾Ê´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ "one-shot" ½ÅÈ£µéÀº ÇÁ·Î±×·¥ÀÌ ½ÅÈ£ Ãë±ÞÀÚ°¡ ÀνºÅçµÈ ä·Î ³²¾ÆÀֱ⸦ ¿øÇÑ´Ù¸é ½ÅÈ£ Ãë±ÞÀÚ(signal handler) ÀÚü¾È¿¡ ½ÅÈ£ Ãë±ÞÀÚ¸¦ ÀçÀνºÅç(re-install) Çؾ߸¸ ÇÑ´Ù. À̶§¹®¿¡ Ãë±ÞÀÚ(handler)°¡ ÀçÀνºÅç(re-install)µÇ±â Àü¿¡ ½ÅÈ£°¡ ´Ù½Ã µµÂøÇÒ ¼ö ÀÖ´Â °æÀï »óÅ°¡ »ý±â°Ô µÇ°í ¹æ¾Æ¼è°¡ ´ç°ÜÁø(ÇÁ·Î¼¼½º¸¦ Á×ÀÌ´Â °Í°ú °°Àº) ½ÅÈ£ÀÇ ¿ø·¡ µ¿ÀÛ¿¡ ÀÇÇØ ½ÅÈ£¸¦ ÀÒ¾î¹ö¸± ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î, ÀÌ·¯ÇÑ ½ÅÈ£µéÀº ½ÅÈ£ Àâ±â(signal catching)¿Í Ãë±ÞÀÚ ÀçÀνºÅç µ¿ÀÛµé(handler re-installation operations)Àº nonatomicÇϱ⠶§¹®¿¡ ½Å·ÚÇÒ ¼ö°¡ ¾ø´Ù(unreliable).

½Å·ÚÇÒ ¼ö ¾ø´Â(unreliable) ½ÅÈ£ sematics ÇÏ¿¡¼­, ½Ã½ºÅÛ È£ÃâµéÀº ½ÅÈ£¿¡ ÀÇÇØ ÀÎÅÍ·´Æ®(interrupted) µÇ¾úÀ» ¶§ ÀÚµ¿ÀûÀ¸·Î Àç½ÃÀÛµÇÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î, ÇÁ·Î±×·¥ÀÌ ¸ðµç °æ¿ì¿¡ ´ëÇØ Æò°¡Çϱâ À§ÇØ, ÇÁ·Î±×·¥Àº ¸ðµç ½Ã½ºÅÛ È£ÃâÀ» ÇÑ ÈÄ¿¡ errnoÀÇ °ªÀ» È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ°í ±×°ªÀÌ EINTRÀÌ¸é ½Ã½ºÅÛ È£ÃâÀ» ´Ù½Ã ÇÑ´Ù.

ºñ½ÁÇÑ ³»¿ëÀ¸·Î, ½Å·ÚÇÒ ¼ö ¾ø´Â(unreliable) ½ÅÈ£ sematics´Â atomic Á¤Áö µ¿ÀÛÀ» ¾ò±âÀ§ÇÑ ½¬¿î ¹æ¹ýÀ» Á¦°øÇÏÁö ¾Ê´Â´Ù.(½ÅÈ£°¡ µµÂøÇÒ ¶§±îÁö ÇÁ·Î¼¼½º¸¦ sleep»óÅ·Π¸¸µå´Â °Í) ½ÅÈ£(signal) Ãë±ÞÀÚ(handler) ÀçÀνºÅç(reinstalling)ÀÇ ½Å·ÚÇÒ ¼ö ¾ø´Â(unreliable) º»Áú(nature) ¶§¹®¿¡ ÇÁ·Î±×·¥ÀÌ ÀνÄÇÏÁö ¸øÇÑ Ã¤ ½ÅÈ£°¡ µµÂøÇÏ´Â °æ¿ì°¡ ÀÖ´Ù.

½Å·ÚÇÒ ¼ö ÀÖ´Â(reliable) ½ÅÈ£ sematics ÇÏ¿¡¼­, ¹Ý¸é¿¡, ½ÅÈ£(signal) Ãë±ÞÀÚ(handler)´Â È£ÃâµÉ ¶§ ÀνºÅçµÈ ä ³²°ÜÁö°í, ÀçÀνºÅç(reinstallation)À» À§ÇÑ °æÀï »óÅ´ ÇÇÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ, ¾î¶² ½Ã½ºÅÛ È£ÃâµéÀº Àç½ÃÀÛµÉ ¼ö ÀÖ°í, atomic Á¤Áö(pause) µ¿ÀÛÀº POSIX sigsuspend ÇÔ¼ö¸¦ °æÀ¯ÇÏ¿© »ç¿ëµÉ ¼ö ÀÖ´Ù.



ÀÌÀü:10.1 ¼Ò°³ (Introduction) ´ÙÀ½:10.2.1 SVR4,BSD,POSIX.1¿¡¼­ÀÇ ½ÅÈ£µé

Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved

Email To:Webmaster , Another address
LAST UPDATE Dec 19,1997
Created Dec 19,1997