set_tid_address

Autres langues

Langue: ja

Autres versions - même langue

Version: 2004-09-10 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

set_tid_address - ¥¹¥ì¥Ã¥É ID ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÀßÄꤹ¤ë

½ñ¼°


#include <linux/unistd.h>



long set_tid_address(int *tidptr);

 

ÀâÌÀ

¥«¡¼¥Í¥ë¤Ï³Æ¥×¥í¥»¥¹¤Ë¤Ä¤¤¤Æ set_child_tid ¤È clear_child_tid ¤È¤¤¤¦ 2 ¤Ä¤ÎÃͤòÊÝ»ý¤¹¤ë¡£ ¤³¤ì¤é¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï NULL ¤Ç¤¢¤ë¡£

set_child_tid

¥×¥í¥»¥¹¤¬ CLONE_CHILD_SETTID ¥Õ¥é¥°¤ò»ØÄꤷ¤¿ clone(2) ¤Ë¤è¤Ã¤Æ³«»Ï¤µ¤ì¤¿¾ì¹ç¡¢ set_child_tid ¤Ï child_tidptr ¤ËÀßÄꤵ¤ì¤ë¡£ ¤³¤ì¤Ï clone(2) ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î 5 ÈÖÌܤΰú¤­¿ô¤Ç¤¢¤ë¡£

set_child_tid ¤¬ÀßÄꤵ¤ì¤¿¾ì¹ç¡¢°ìÈֺǽé¤Ë¿·¤·¤¤¥×¥í¥»¥¹¤¬¹Ô¤¦¤³¤È¤Ï¡¢ ¤³¤Î¥¢¥É¥ì¥¹¤Ë¼«¿È¤Î PID ¤ò½ñ¤­¹þ¤à¤³¤È¤Ç¤¢¤ë¡£

clear_child_tid

¥×¥í¥»¥¹¤¬ CLONE_CHILD_CLEARTID ¥Õ¥é¥°¤ò»ØÄꤷ¤¿ clone(2) ¤Ë¤è¤Ã¤Æ³«»Ï¤µ¤ì¤¿¾ì¹ç¡¢ clear_child_tid ¤Ï child_tidptr ¤ËÀßÄꤵ¤ì¤ë¡£ ¤³¤ì¤Ï clone(2) ¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î 5 ÈÖÌܤΰú¤­¿ô¤Ç¤¢¤ë¡£

¥·¥¹¥Æ¥à¥³¡¼¥ë set_tid_address() ¤Ï¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Î clear_child_tid ¤ÎÃͤò tidptr ¤ËÀßÄꤹ¤ë¡£

clear_child_tid ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤­¤Ë¥×¥í¥»¥¹¤¬½ªÎ»¤¹¤ë¤È¡¢ ¤½¤Î¥×¥í¥»¥¹¤Ï¾¤Î¥×¥í¥»¥¹¤Þ¤¿¤Ï¥¹¥ì¥Ã¥É¤È¥á¥â¥ê¤ò¶¦Í­¤·¤Æ¤¤¤ë¤Î¤Ç¡¢ ¤³¤Î¥¢¥É¥ì¥¹¤Ë 0 ¤¬½ñ¤­¹þ¤Þ¤ì¡¢ futex(child_tidptr, FUTEX_WAKE, 1, NULL, NULL, 0); ¤Î¸Æ¤Ó½Ð¤·¤¬¼Â¹Ô¤µ¤ì¤ë (¤Ä¤Þ¤ê¡¢¤³¤Î futex ¤ÇÂԤäƤ¤¤ë 1 ¤Ä¤Î¥×¥í¥»¥¹¤òµ¯¤³¤¹ (wake))¡£ ¥¨¥é¡¼¤Ï̵»ë¤µ¤ì¤ë¡£

ÊÖ¤êÃÍ

set_tid_address() ¤Ï¾ï¤Ë¸½ºß¤Î¥×¥í¥»¥¹¤Î PID ¤òÊÖ¤¹¡£

¥¨¥é¡¼

set_tid_address() ¤Ï¾ï¤ËÀ®¸ù¤¹¤ë¡£

¥Ð¡¼¥¸¥ç¥ó

¤³¤Î¸Æ¤Ó½Ð¤·¤Ï Linux 2.5.48 °Ê¹ß¤Ç¸ºß¤¹¤ë¡£ ¤³¤³¤Ç½ñ¤«¤ì¤¿¾ÜºÙ¤Ï Linux 2.5.49 °Ê¹ß¤ÇÍ­¸ú¤Ç¤¢¤ë¡£

½àµò

¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£

´ØÏ¢¹àÌÜ

clone(2), futex(2)