词条 | semget |
释义 | 目录功能描述函数原型:int semget(key_t key,int nsems,int semflg); 功能描述 获取与某个键关联的信号量集标识。信号量集被建立的情况有两种: 1.如果键的值是IPC_PRIVATE。 2.或者键的值不是IPC_PRIVATE,并且键所对应的信号量集不存在,同时标志中指定IPC_CREAT。 当调用semget创建一个信号量时,他的相应的semid_ds结构被初始化。ipc_perm中各个量被设置为相应 值: sem_nsems被设置为nsems所示的值; sem_otime被设置为0; sem_ctime被设置为当前时间 用法#include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> int semget(key_t key, int nsems, int semflg); key:所创建或打开信号量集的键值。 nsems:创建的信号量集中的信号量的个数,该参数只在创建信号量集时有效。 flag:调用函数的操作类型,也可用于设置信号量集的访问权限,两者通过or表示 返回值说明: 如果成功,则返回信号量集的IPC标识符。 如果失败,则返回-1,errno被设定成以下的某个值 EACCES:没有访问该信号量集的权限 EEXIST:信号量集已经存在,无法创建 EINVAL:参数nsems的值小于0或者大于该信号量集的限制;或者是该key关联的信号量集已存在,并且nsems 大于该信号量集的信号量数 ENOENT:信号量集不存在,同时没有使用IPC_CREAT ENOMEM :没有足够的内存创建新的信号量集 ENOSPC:超出系统限制 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。