程序要求:
创建一个写端和一个读端,写端写入数据后读端才开始读,读端读完数据后,写端才可以开始写,这样的同步采用信号机制实现,并且写端与读端打开顺序不同也能实现功能;
程序如下:
(1)write.c(写端)#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <errno.h>
#include "sem.h"
typedef struct
{
char buf[1024];
}memory;
int main(int argc, const char *argv[])
{
key_t key;
memory *p = NULL;
int shmid;
int create_flag = 0;
int sem_id;
if ((key = ftok(".", 'a')) < 0)
{
perror("failed to get key");
exit(-1);
}
i