Rechercher une page de manuel
getcontext
Langue: ja
Version: 2001-11-15 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
getcontext, setcontext - ¥æ¡¼¥¶¥³¥ó¥Æ¥¥¹¥È¤ò¼èÆÀ/ÀßÄꤹ¤ë½ñ¼°
#include <ucontext.h>int getcontext(ucontext_t *ucp);
int setcontext(const ucontext_t *ucp);
ÀâÌÀ
System V Ū¤Ê´Ä¶¤Ç¤Ï¡¢ mcontext_t ¤ª¤è¤Ó ucontext_t ¤È¤¤¤¦ 2 ¤Ä¤Î·¿¤È¡¢ getcontext(), setcontext(), makecontext(3), swapcontext(3) ¤È¤¤¤¦ 4 ¤Ä¤Î´Ø¿ô¤¬ <ucontext.h> ¤ÇÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¤¢¤ë¥×¥í¥»¥¹ÆâÉô¤ÇÀ©¸æ²¼¤Ë¤¢¤ëÊ£¿ô¤Î¥¹¥ì¥Ã¥É´Ö¤Ç¡¢ ¥æ¡¼¥¶¥ì¥Ù¥ë¤Î¥³¥ó¥Æ¥¥¹¥ÈÀÚÂؤ¨¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£mcontext_t ·¿¤Ï¥Þ¥·¥ó°Í¸¤Ç¡¢³°Éô¤«¤é¤Ï±£Ê䵤ì¤Æ¤¤¤ë¡£ ucontext_t ·¿¤Ï¹½Â¤ÂΤǡ¢¾¯¤Ê¤¯¤È¤â°Ê²¼¤Î 4 ¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ä¡£
-
typedef struct ucontext { struct ucontext *uc_link; sigset_t uc_sigmask; stack_t uc_stack; mcontext_t uc_mcontext; ... } ucontext_t;
getcontext() ´Ø¿ô¤Ï¡¢ ¥Ý¥¤¥ó¥¿ ucp ¤¬»Ø¤¹¹½Â¤ÂΤò¡¢ ¸½ºß¥¢¥¯¥Æ¥£¥Ö¤Ê¥³¥ó¥Æ¥¥¹¥È¤Ë½é´ü²½¤¹¤ë¡£
setcontext() ´Ø¿ô¤Ï¡¢¥Ý¥¤¥ó¥¿ ucp ¤¬»Ø¤¹¥æ¡¼¥¶¥³¥ó¥Æ¥¥¹¥È¤ò¥ê¥¹¥È¥¢¤¹¤ë¡£ ¸Æ¤Ó½Ð¤·¤ËÀ®¸ù¤¹¤ë¤ÈÊÖ¤é¤Ê¤¤¡£ ¤³¤Î¥³¥ó¥Æ¥¥¹¥È¤Ï¡¢°ÊÁ°¤Ë getcontext() ¤Þ¤¿¤Ï makecontext(3) ¤ÇÆÀ¤é¤ì¤¿¤â¤Î¤«¡¢ ¤¢¤ë¤¤¤Ï¥·¥°¥Ê¥ë¤ÎÂè»°°ú¿ô¤È¤·¤ÆÍ¿¤¨¤é¤ì¤¿¤â¤Î¤Ë¤Ê¤ë¡£
¥³¥ó¥Æ¥¥¹¥È¤¬ getcontext() ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤Æ¤¤¤¿¤â¤Î¤Î¾ì¹ç¤Ï¡¢ ¥×¥í¥°¥é¥à¤Ï¤³¤Î¸Æ¤Ó½Ð¤·¤«¤éÊ֤ä¿Ä¾¸å¤«¤é¤Î¤è¤¦¤Ë¼Â¹Ô¤ò·Ñ³¤¹¤ë¡£
¥³¥ó¥Æ¥¥¹¥È¤¬ makecontext(3) ¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤Æ¤¤¤¿¤â¤Î¤Î¾ì¹ç¤Ï¡¢ ¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ï¤½¤Î makecontext(3) ¸Æ¤Ó½Ð¤·¤ÎÂèÆó°ú¿ô¤Ç»ØÄꤵ¤ì¤¿´Ø¿ô func ¤ò¸Æ¤Ó½Ð¤¹¤«¤¿¤Á¤Ç·Ñ³¤¹¤ë¡£ func ¤«¤éÊÖ¤ë¤È¡¢ makecontext(3) ¸Æ¤Ó½Ð¤·¤ÎÂè°ì°ú¿ô¤Ç»ØÄꤵ¤ì¤Æ¤¤¤¿ ucp ¹½Â¤ÂΤΠuc_link ¥á¥ó¥Ð¤Ç·Ñ³¤¹¤ë¡£ ¤³¤Î¥á¥ó¥Ð¤¬ NULL ¤À¤Ã¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥¹¥ì¥Ã¥É¤Ï½ªÎ»¤¹¤ë¡£
¥³¥ó¥Æ¥¥¹¥È¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Î¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤Æ¤¤¤¿¤â¤Î¤Î¾ì¹ç¤Ï¡¢ ¸Å¤¤É¸½à¤Ë¤è¤ì¤Ð ¡Ö¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ï¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤Æ³ä¤ê¹þ¤Þ¤ì¤¿Ì¿Îá¤Î¼¡¤ÎÌ¿Îᤫ¤é·Ñ³¤µ¤ì¤ë¡×¡£ ¤·¤«¤·¤³¤Îʸ¤Ï SUSv2 ¤Çºï½ü¤µ¤ì¤¿¤Î¤Ç¡¢ ¸½ºß¤ÎȽÃǤϡַë²Ì¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡×¤Ç¤¢¤ë¡£
ÊÖ¤êÃÍ
À®¸ù¤¹¤ë¤È¡¢ getcontext() ¤Ï 0 ¤òÊÖ¤·¡¢ setcontext() ¤ÏÊÖ¤é¤Ê¤¤¡£ ¼ºÇÔ¤¹¤ë¤È¡¢Î¾¼Ô¤È¤â -1 ¤òÊÖ¤·¡¢errno ¤ò¥¨¥é¡¼¤Ë±þ¤¸¤ÆÀßÄꤹ¤ë¡£¥¨¥é¡¼
ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£½àµò
SUSv2, POSIX.1-2001.Ãí°Õ
¤³¤Î¥á¥«¥Ë¥º¥à¤ÎºÇ¸Å¤Î¼ÂÁõ¤Ï¡¢ setjmp(3)/longjmp(3) µ¡¹½¤Ç¤¢¤Ã¤¿¡£ ¤³¤ì¤é¤Ë¤Ï¥·¥°¥Ê¥ë¥³¥ó¥Æ¥¥¹¥È¤Î¼è¤ê°·¤¤¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ ¼¡¤ÎÃʳ¬¤Ç¤Ï sigsetjmp(3)/siglongjmp(3) ¤Î¥Ú¥¢¤¬¸½¤ï¤ì¤¿¡£ ¸½ºß¤Îµ¡¹½¤Ç¤Ï¤º¤Ã¤ÈºÙ¤«¤ÊÀ©¸æ¤¬¤Ç¤¤ë¡£ °ìÊý getcontext() ¤«¤éÊ֤俤Ȥ¡¢ ¤³¤ì¤¬ºÇ½é¤Î¸Æ¤Ó½Ð¤·¤Ç¤¢¤Ã¤¿¤«¡¢ ¤½¤ì¤È¤â setcontext() ¸Æ¤Ó½Ð¤·¤«¤é¤Î¤â¤Î¤Ç¤¢¤ë¤«¤ò ¶èÊ̤¹¤ëÍưפÊÊýË¡¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£ ¥æ¡¼¥¶¤Ï¡Ö¤·¤ª¤ê¡×µ¡¹½¤ò¼«Ê¬¤Çºî¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥ì¥¸¥¹¥¿ÊÑ¿ô¤Ï (¥ì¥¸¥¹¥¿¤Ï¥ê¥¹¥È¥¢¤µ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç) ¤³¤ì¤ò¤ä¤Ã¤Æ¤¯¤ì¤Ê¤¤¡£¥·¥°¥Ê¥ë¤¬È¯À¸¤¹¤ë¤È¡¢ ¸½ºß¤Î¥æ¡¼¥¶¥³¥ó¥Æ¥¥¹¥È¤ÏÊݸ¤µ¤ì¡¢ ¥·¥°¥Ê¥ë¥Ï¥ó¥É¥éÍѤΥ³¥ó¥Æ¥¥¹¥È¤¬¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤ë¡£ º£¸å¤Ï¥Ï¥ó¥É¥é¤Ë longjmp(3) ¤ò»È¤ï¤»¤Ê¤¤¤³¤È: ¤³¤Î´Ø¿ô¤Î¥³¥ó¥Æ¥¥¹¥È²¼¤Ç¤ÎÆ°ºî¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ Âå¤ï¤ê¤Ë siglongjmp(3) ¤« setcontext() ¤ò»È¤¦¤³¤È¡£
´ØÏ¢¹àÌÜ
sigaction(2), sigaltstack(2), sigprocmask(2), longjmp(3), makecontext(3), sigsetjmp(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre