rendered paste body#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> int main(void) { key_t key1; int semid1;static struct sembuf Decr = {0,-1,SEM_UNDO};static struct sembuf Incr = {0,1,SEM_UNDO}; key1 = ftok("reader.c", 'X'); semid1= semget(key1,2,IPC_CREAT | 0600); semctl(semid1,0,SETVAL,1); semctl(semid1,1,SETVAL,1);int i;for(i = 0; i<5; i++){semctl(semid1,0,SETVAL,0);semop(semid1,&Decr,1);printf("read\n");sleep(2);printf("done\n");semctl(semid1,0,SETVAL,1);semop(semid1,&Incr,1);sleep(4);} return 0; }