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