sem_init

Autres langues

Langue: ja

Autres versions - même langue

Version: 2006-03-25 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

sem_init - ̾Á°¤Ê¤·¥»¥Þ¥Õ¥©¤ò½é´ü²½¤¹¤ë

½ñ¼°


#include <semaphore.h>



int sem_init(sem_t *sem, int pshared, unsigned int value);

ÀâÌÀ

sem_init() ¤Ï¡¢ sem ¤¬»Ø¤¹¥¢¥É¥ì¥¹¤Ë¤¢¤ë̾Á°¤Ê¤·¥»¥Þ¥Õ¥©¤ò½é´ü²½¤¹¤ë¡£ value °ú¤­¿ô¤Ï¤½¤Î¥»¥Þ¥Õ¥©¤Î½é´üÃͤò»ØÄꤹ¤ë¡£

pshared °ú¤­¿ô¤Ï¡¢¤³¤Î¥»¥Þ¥Õ¥©¤¬¥×¥í¥»¥¹Æâ¤Î¥¹¥ì¥Ã¥É´Ö¤Ç¶¦Í­¤µ¤ì¤ë¤Î¤«¡¢ ¥×¥í¥»¥¹´Ö¤Ç¶¦Í­¤µ¤ì¤ë¤Î¤«¡¢¤ò¼¨¤¹¡£

pshared ¤¬ 0 ¤Î¾ì¹ç¡¢¥»¥Þ¥Õ¥©¤Ï¥×¥í¥»¥¹Æâ¤Î¥¹¥ì¥Ã¥É´Ö¤Ç¶¦Í­¤µ¤ì¤ë¡£ ¥»¥Þ¥Õ¥©¤Ï¤¹¤Ù¤Æ¤Î¥¹¥ì¥Ã¥É¤«¤é»²¾È²Äǽ¤Ê¥¢¥É¥ì¥¹¤ËÇÛÃÖ¤¹¤Ù¤­¤Ç¤¢¤ë (Î㤨¤Ð¡¢Âç°èÊÑ¿ô¤ä¡¢¥Ò¡¼¥×¾å¤ËưŪ¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿ÊÑ¿ô¤Ê¤É)¡£

pshared ¤¬ 0 °Ê³°¤Î¾ì¹ç¡¢¥»¥Þ¥Õ¥©¤Ï¥×¥í¥»¥¹´Ö¤Ç¶¦Í­¤µ¤ì¤ë¡£¥»¥Þ¥Õ¥©¤Ï ¶¦Í­¥á¥â¥êÎΰè¤ËÇÛÃÖ¤¹¤Ù¤­¤Ç¤¢¤ë (shm_open(3), mmap(2), shmget(2) »²¾È)¡£ (fork(2) ¤ÇÀ¸À®¤µ¤ì¤¿»Ò¥×¥í¥»¥¹¤Ï¿Æ¥×¥í¥»¥¹¤Î¥á¥â¥ê¥Þ¥Ã¥Ô¥ó¥°¤ò·Ñ¾µ¤¹¤ë¤¿¤á¡¢ »Ò¥×¥í¥»¥¹¤â¥»¥Þ¥Õ¥©¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£) ¶¦Í­¥á¥â¥êÎΰè¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¥×¥í¥»¥¹¤Ê¤é¤Ð¡¢¤É¤Î¥×¥í¥»¥¹¤Ç¤â sem_post(3) ¤ä sem_wait(3) ¤Ê¤É¤ò»È¤Ã¤Æ¥»¥Þ¥Õ¥©¤òÁàºî¤Ç¤­¤ë¡£

¤¹¤Ç¤Ë½é´ü²½ºÑ¤Î¥»¥Þ¥Õ¥©¤ò½é´ü²½¤·¤¿¾ì¹ç¤ÎµóÆ°¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

ÊÖ¤êÃÍ

À®¸ù¤¹¤ë¤È¡¢ sem_init() ¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤò¥»¥Ã¥È¤¹¤ë¡£

¥¨¥é¡¼

EINVAL
value ¤¬ SEM_VALUE_MAX ¤òĶ¤¨¤Æ¤¤¤ë¡£
ENOSYS
pshared ¤¬ 0 °Ê³°¤À¤¬¡¢¥·¥¹¥Æ¥à¤¬¥×¥í¥»¥¹¶¦Í­¥»¥Þ¥Õ¥©¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤ (sem_overview(7) »²¾È)¡£

½àµò

POSIX.1-2001.

Ãí°Õ

̯¤Ê¤³¤È¤Ë¡¢POSIX.1-2001 ¤Ï sem_init() ¤¬À®¸ù¤·¤¿¾ì¹ç¤ËÊÖ¤¹¤Ù¤­Ãͤòµ¬Äꤷ¤Æ¤¤¤Ê¤¤¡£¤·¤«¤·¤Ê¤¬¤é¡¢ ¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î¼ÂÁõ¤¬¤³¤Î¾ì¹ç 0 ¤òÊÖ¤¹¡£

´ØÏ¢¹àÌÜ

sem_destroy(3), sem_post(3), sem_wait(3), sem_overview(7)