"> WAITSEM(3)

WAITSEM(3)
XENIX System V (21 èþíÿ 1987)

ÈÌß
waitsem, nbwaitsem - oæèäaeò äocòyï ê pecypcy, çaêpûòoìy ceìaôopoì

ÑÈÍÒÀÊÑÈÑ

	int waitsem(sem_num)
	int sem_num;
	
	int nbwaitsem(sem_num)
	int sem_num;

ÎÏÈÑÀÍÈÅ
Waitsem oáecïe÷èâaeò äocòyï ê pecypcy, çaêpûòoìy ceìaôopoì sem_num. Ecëè pecypc ècïoëüçyeòcÿ äpyãèì ïpoöeccoì, waitsem ïepeâoäèò âûçûâaþùèé ïpoöecc â cocòoÿíèe oæèäaíèÿ äo òex ïop, ïoêa pecypc íe ocâoáoäèòcÿ; â òaêoé cèòyaöèè nbwaitsem âoçâpaùaeò çía÷eíèe ENAVAIL. Waitsem è nbwaitsem ècïoëüçyþòcÿ âìecòe c sigsem äëÿ cèíxpoíèçaöèè äocòyïa ê oáùeìy pecypcy. K oäíoìy ceìaôopy ìoãyò oápaòèòücÿ íecêoëüêo ïpoöeccoâ c ïoìoùüþ waitsem è ïepeâoäÿòcÿ â peæèì oæèäaíèÿ, ïoêa ïpoöecc, âëaäeþùèé pecypcoì, íe èçäacò sigsem. Ïpè ýòoì yïpaâëeíèe ïepeäaeòcÿ o÷epeäíoìy ïpoöeccy, còoÿùeìy â o÷epeäè ê ýòoìy ceìaôopy. O÷epeäü ê ceìaôopy opãaíèçyeòcÿ ïo ïpèíöèïy "Ïepâûì ïpèøeë - ïepâûì oácëyæeí".

Cècòeìíaÿ coâìecòèìocòü
Waitsem ìoæeò áûòü ècïoëüçoâaí äëÿ paáoòû c ceìaôopaìè, coçäaííûìè â oïepaöèoííoé cpeäe XENIX âepcèè 3.0, ío íe â cpeäe XENIX System V.

ÑÌ. ÒÀÊÆÅ
creatsem(3), opensem(3), sigsem(3).

ÄÈÀÃÍÎÑÒÈÊÀ
B cëy÷ae oøèáêè waitsem âoçâpaùaeò -1. Ecëè sem_num ïpeäâapèòeëüío íe oòêpûò ïyòeì âûçoâa opensem èëè creatsem, ïepeìeííoé errno ïpècâaèâaeòcÿ çía÷eíèe EBADF. Ecëè sem_num íe ÿâëÿeòcÿ yêaçaòeëeì ía ôaéë òèïa "ceìaôop", ïepeìeííoé errno ïpècâaèâaeòcÿ çía÷eíèe ENOTNAM. Ecëè ïpoöecc, âëaäeþùèé pecypcoì, íe ocâoáoäèë eão ïepeä çaâepøeíèeì, âce ïpoöeccû, oæèäaþùèe â o÷epeäè ê ýòoìy pecypcy, ïoëy÷aò errno co çía÷eíèeì ENAVAIL. Ïpè ýòoì pecypc ocòaeòcÿ â íeoïpeäeëeííoì cocòoÿíèè. Ecëè ïpoöecc èçäaë äâa waitsem áeç ïpoìeæyòo÷íoão âûçoâa sigsem, ïepeìeííoé errno ïpècâaèâaeòcÿ çía÷eíèe EINVAL.

ÇAÌE×AÍÈß
Äaííaÿ âoçìoæíocòü cïeöèôè÷ía äëÿ oïepaöèoííoé cpeäû XENIX è, âoçìoæío, íe ìoæeò áûòü ïpèìeíeía â äpyãèx cècòeìax UNIX. Ïpè êoìïoíoâêe íeoáxoäèìo yêaçûâaòü ôëaã -lx.