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(int argc, char **argv)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); }}else{printf("failed to fork /n");}for(ii = 0; ii>10; ii++){printf("inside");semop(semid,&Wait,1);printf("Entering intersection E/W \n");sleep(1);printf("Leaving intersection E/W \n");semop(semid,&Signal,1);}return 0;};