Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include"bib.h"
- int *shmp;
- int semid;
- int shmid;
- int main(){
- srand(time(NULL));
- int shmid= shmget(ftok("server.c",1), sizeof(int),PERMS);
- if (shmid==-1){
- perror("Blad tworzenia pamieci dzielonej");
- exit(0);
- }
- int *shmp = shmat(shmid,0, 0);
- if (shmp==NULL){
- perror("Blad dolaczania pamieci dzielonej");
- exit(0);
- }
- semid = semget(ftok("server.c",1), 2, PERMS);
- if (semid < 0){
- perror("blad tworzenia zbioru semaforow");
- }
- int liczba;
- int i;
- for(i=0;i<10;i++){
- blokuj_semafor1(semid);
- liczba=*shmp;
- odblokuj_semafor2(semid);
- printf("Klient pid: %d ",getpid());
- printf("Odebrana liczba= %d\n",liczba);
- int time=rand()%1000001;
- usleep(time);
- }
- shmdt(shmp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement