Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <semaphore.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <float.h>
- #include <sys/mman.h>
- #include <sys/sem.h>
- int main()
- {
- double *rptr;
- //FILE *fp;
- sem_t *sem;
- int fd;
- int fp = open("input.asc",O_RDONLY,0777);
- sem = sem_open("mm", O_CREAT,0777, 0);
- fd = shm_open("c", O_CREAT | O_RDWR, 0777);
- if (ftruncate(fd, sizeof(double)) == -1)
- printf("foram \n");
- rptr = (double *)mmap(NULL, sizeof(double), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- printf("foram \n");
- while(1){
- // if (feof(fp))
- //{
- // break;
- // }
- sem_post(sem);
- read(fp,&rptr,sizeof(double));
- printf("frptr %lf \n", *rptr);
- sem_wait(sem);
- }
- *rptr = DBL_MIN;
- close(fp);
- sem_close(sem);
- sem_unlink("mm");
- shm_unlink("c");
- //munmap(rptr);
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement