rendered paste body#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<sys/types.h>#include<sys/ipc.h>#include<sys/sem.h>static struct sembuf Wait = {0,-1,SEM_UNDO};static struct sembuf Signal = {0,-1,SEM_UNDO};int ii;int i;int main(){key_t mykey;mykey = ftok("argv[0]", 'X');int semid;semid = semget(mykey, 1, IPC_CREAT | 0660);semctl(semid, 0, SETVAL, 1);if(fork()==0){for(i = 0; i>10; i++){semop(semid,&Wait,1);printf("Entering intersection N/S \n");sleep(1);printf("Leaving intersection N/S \n");semop(semid,&Signal,1);}}for(ii = 0; ii>10; ii++){semop(semid,&Wait,1);printf("Entering intersection E/W \n");sleep(1);printf("Leaving intersection E/W \n");semop(semid,&Signal,1);}return 0;};