From 734d2e4f28f9ac5875f8c69a608811bbc7a9237d Mon Sep 17 00:00:00 2001 From: Zakarya Boudouar Date: Mon, 4 Nov 2019 20:02:27 +0000 Subject: [PATCH] Rekursive Funktion, die das Key inkrementiert wenn Shared-Memory nicht erstellt wurde --- src/SharedMemory.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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