">
ÈÌß
sigsem - ïocûëaeò cèãíaë ïpoöeccy, êoòopûé íaxoäèòcÿ â
o÷epeäè ê ceìaôopy
ÑÈÍÒÀÊÑÈÑ
int sigsem(sem_num) int sem_num;
ÎÏÈÑÀÍÈÅ
Sigsem ïocûëaeò cèãíaë ïpoöeccy, êoòopûé íaxoäèòcÿ â o÷epeäè
ê ceìaôopy sem_num, ÷òoáû ïocëeäíèé ìoã ècïoëüçoâaòü pecypc,
çaêpûòûé ýòèì ceìaôopoì. Sigsem ècïoëüçyeòcÿ âìecòe c
waitsem(3) äëÿ cèíxpoíèçaöèè äocòyïa ïpoöeccoâ ê oäíoìy
pecypcy. Hecêoëüêo ïpoöeccoâ ìoãyò èçäaòü cècòeìíûé âûçoâ
waitsem ía oäèí ceìaôop. Ïpè ýòoì oíè ïepeéäyò â cocòoÿíèe
oæèäaíèÿ, ïoêa ïpoöecc, èìeþùèé äocòyï ê pecypcy, íe èçäacò
cècòeìíûé âûçoâ sigsem. Ecëè oæèäaþùèx ïpoöeccoâ íecêoëüêo,
yïpaâëeíèe áyäeò ïepeäaío ïepâoìy èç o÷epeäè ê ceìaôopy.
O÷epeäü ê ceìaôopy opãaíèçyeòcÿ ïo ïpèíöèïy "Ïepâûì ïpèøeë -
ïepâûì oácëyæeí" (FIFO).
ÑÌ. ÒÀÊÆÅ
creatsem(3), opensem(3), waitsem(3).
Cècòeìíaÿ coâìecòèìocòü
Sigsem ìoæeò áûòü ècïoëüçoâaí òoëüêo c ceìaôopaìè,
coçäaííûìè â oïepaöèoííoé cècòeìe XENIX âepcèè 3.0, ío íe â
cècòeìe XENIX System V.
ÄÈÀÃÍÎÑÒÈÊÀ
B cëy÷ae oøèáêè sigsem âoçâpaùaeò -1. Ecëè sem_num íe
yêaçûâaeò ía ôaéë òèïa "ceìaôop", ïepeìeííoé errno
ïpècâaèâaeòcÿ çía÷eíèe ENOTNAM. Ecëè sem_num íe oòêpûò
cècòeìíûì âûçoâoì opensem, ïepeìeííoé errno ïpècâaèâaeòcÿ
çía÷eíèe EBADF. Ecëè âûçûâaþùèé ïpoöecc íe ÿâëÿeòcÿ
âëaäeëüöeì ceìaôopa (òo ecòü ýòoò ïpoöecc ïpeäâapèòeëüío íe
èçäaë cècòeìíûé âûçoâ waitsem), ïepeìeííoé errno
ïpècâaèâaeòcÿ çía÷eíèe ENAVAIL.
ÇAÌE×AÍÈß
Äaííaÿ âoçìoæíocòü ÿâëÿeòcÿ cèëüío cècòeìío çaâècèìoé. Ïpè
êoìïoíoâêe íeoáxoäèìo ècïoëüçoâaòü ôëaã -lx.