Rekursive Funktion, die das Key inkrementiert wenn Shared-Memory nicht erstellt wurde

This commit is contained in:
Zakarya Boudouar 2019-11-04 20:02:27 +00:00
parent 75fcc01d98
commit 734d2e4f28

View File

@ -2,13 +2,17 @@
#include <cstdio> #include <cstdio>
#include "SharedMemory.h" #include "SharedMemory.h"
//Shared-Memory-Segment erstellen oder öffnen shmget() //Shared-Memory-Segment erstellen oder öffnen shmget()
void shared_memory_init(){ int shared_memory_init(key_t key){
memory_id = shmget(IPC_PRIVATE, SHMMAXSIZE, IPC_CREAT | IPC_EXCL);
if(memory_id<0){ memory_id = shmget(key, SHMMAXSIZE, IPC_CREAT | 0666);
perror("Fehler bei der Erstellung des gemeinsamen Speicher"); if(shmid == -1){
exit(1); key++;
shmfnk(key);
return memory_id;
} }
return 0;
} }
//Shared-Memory-Segment id weiterreichen //Shared-Memory-Segment id weiterreichen