Unix Man (Ñïðàâî÷íîå ðóêîâîäñòâî)

         

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.

ÑÌ. ÒÀÊÆÅ


, , .

ÄÈÀÃÍÎÑÒÈÊÀ


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.



Ñîäåðæàíèå ðàçäåëà