UNPv2第二章:Posix IPC

2.1 概述:

Posix IPC共有三种类型:
 Posix消息队列
 Posix信号灯
 Posix共享内存区

2.2 IPC名字

#include “unpipc.h”
char *px_ipc_name(const char *name);
返回:成功时为非空指针,出错时为NULL

Name参数不能有任何斜杠符。例如下面的调用
px_ipc_name(“test1”);

2.3 创建与打开IPC通道

mq_open, sem_open, shm_open这三个创建或打开一个IPC对象的函数

#include <mqueue.h>
mqd_t mq_open(const char *name,int oflag,);
返回:若成功则为消息队列描述符,出错返回-1.

#include <semaphore.h>
sem_t *sem_open(const char *name,int oflag,mode_t mode,unsigned int value);
成功时返回指向信号灯的指针,出错时为SEM_FAILED

#include <sys/mman.h>
int shm_open(const char *name, int oflag, mode_t mode);
返回:创建或打开一个共享内存,成功返回一个整数的文件描述符,错误返回-1。
第二个参数oflag指定怎样打开所请求的对象

UNPv2第二章:Posix IPC_第1张图片

你可能感兴趣的:(UNPv2第二章:Posix IPC)