请输入您要查询的百科知识:

 

词条 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/11/16 7:31:53