opensem - oòêpûâaeò ceìaôop
int opensem (sem_name) char *sem_name;
sem_num = opensem (sem_name);
opemsem oòêpûâaeò ceìaôop, çaäaííûé èìeíeì sem_name, è âoçâpaùaeò yíèêaëüíûé èäeíòèôèêaöèoííûé íoìep ceìaôopa sem_num, êoòopûé çaòeì ècïoëüçyeòcÿ âûçoâaìè waitsem è sigsem. Äëÿ èíèöèaëèçaöèè ceìaôopa ïepeä ïepâûì eão oòêpûòèeì íyæío âûçûâaòü creatsem.
opensem ìoæeò ècïoëüçoâaòücÿ äëÿ oòêpûòèÿ ceìaôopoâ òoëüêo â XENIX, âepcèÿ 3.0, ío íe äëÿ ceìaôopoâ XENIX System V.
, ,
opensem aâapèéío çaâepøaeòcÿ, ecëè âûïoëíÿeòcÿ xoòÿ áû oäío èç cëeäyþùèx ycëoâèé:
Óêaçaííûé ceìaôop íe cyùecòâyeò. |
Óêaçaííûé ôaéë íe ÿâëÿeòcÿ ceìaôopíûì (ò.e òaêèì, êoòopûé áûë coçäaí âûçoâoì ). |
Ceìaôop íeêoppeêòeí. |
B cëy÷ae oøèáêè âoçâpaùaeòcÿ çía÷eíèe -1 è â errno çaíocèòcÿ êoä oøèáêè.
Ýòa ocoáeííocòü cïeöèôè÷ía äëÿ XENIX è ìoæeò oòcyòcòâoâaòü â äpyãèx peaëèçaöèÿx UNIX. Ïpoãpaììa, ècïoëüçyþùaÿ ýòy ôyíêöèþ, äoëæía êoìïoíoâaòücÿ c ôëaãoì -lx.
Bo èçáeæaíèe òyïèêa íe cëeäyeò oòêpûâaòü oäèí è òoò æe ceìaôop áoëee oäíoão paça.