Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <sys/shm.h>
- #include <unistd.h>
- static int SHRT_MAX = 1000;
- int main(int argc, char** argv) {
- int id;
- int* shm_ptr;
- key_t key = 4567;
- id = shmget(key,sizeof(int),IPC_CREAT|0666);
- shm_ptr = (int*) shmat(id,NULL,0);
- if(shm_ptr == (int*)-1) perror("shmat error");
- int* data = shm_ptr;
- for(int i = 0;i<=1000;i++){
- *data = i;
- sleep(1);
- }
- sleep(3);
- shmdt(data);
- shmctl(id,IPC_RMID,NULL);
- return 0;
- }
- #include <stdio.h>
- #include <sys/shm.h>
- #include <unistd.h>
- static int SHRT_MAX = 1000;
- int main(int argc, char** argv) {
- int id;
- int* shm_ptr;
- key_t key = 4567;
- id = shmget(key,sizeof(int),0666);
- shm_ptr = (int*) shmat(id,NULL,SHM_RDONLY);
- if(shm_ptr == (int*)-1) perror("shmat error");
- int* data = shm_ptr;
- for(int i = 0;i<=1000;i++){
- printf("valeur segment : %d\r\n",*data);
- sleep(1);
- }
- sleep(3);
- if(shmdt(data)==0){
- return 0;
- }else{
- return 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement