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.