Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <sys/ipc.h>
  3. #include <sys/shm.h>
  4. #include <errno.h>
  5. #include <string.h>
  6. #include <sys/sem.h>
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. struct sembuf buff = {0,0,0};
  10.  
  11. // L identifiant du sémaphore et de la SHM sont passés en paramètres d'appel
  12.  
  13. // =======================
  14. void psem(key_t cle)
  15. {
  16. buff.sem_op=-1;
  17. if(semop(cle,&buff,1)== -1)
  18. {perror(""); exit(-1) ;};
  19. }
  20.  
  21. // =======================
  22. void vsem(key_t cle)
  23. {
  24. buff.sem_op=1;
  25. if(semop(cle,&buff,1)== -1)
  26. {perror(""); exit(-1);}
  27. }
  28.  
  29. // =======================
  30. int main(int argc ,char ** argv)
  31. {
  32. int *ptr;
  33. key_t IDSEM1,IDSEM2,IDSHM;
  34. char choix='r';
  35. int i;
  36. //semaphore privé
  37. IDSEM2=(key_t)atoi(argv[1]);
  38. //shm
  39. IDSHM=(key_t)atoi(argv[2]);
  40. ptr=(int *)shmat(IDSHM,0,0);
  41.  
  42. printf("\n ECRITURE dans LA SHM\n");
  43.  
  44. printf("\nENTREZ UNE VALEUR:");
  45. scanf("%d",&i);
  46. *(ptr)=i;
  47. printf("\nLANCEMENT AUTORISATION DE LECTURE\n");
  48. // ======
  49. vsem(IDSEM2);
  50. // ======
  51. exit(1);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement