From b64828b01ae8b26a8083be83a6faed03a26cef85 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Mon, 28 Dec 2020 13:48:37 +0100 Subject: [PATCH] Shared mem debug --- src/cache.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/cache.c b/src/cache.c index f3dc6b6..ff86991 100644 --- a/src/cache.c +++ b/src/cache.c @@ -35,11 +35,20 @@ int cache_process() { fprintf(stderr, ERR_STR "Unable to create shared memory: %s" CLR_STR "\n", strerror(errno)); return -1; } + + struct shmid_ds info; + if (shmctl(shm_id, IPC_STAT, &info) < 0) goto shmctl_err; + info.shm_perm.mode = 0600; + if (shmctl(shm_id, IPC_SET, &info) < 0) { + shmctl_err: + fprintf(stderr, ERR_STR "Unable to update permissions for shared memory: %s" CLR_STR "\n", strerror(errno)); + return -3; + } + shmdt(cache); void *shm_rw = shmat(shm_id, NULL, 0); if (shm_rw == (void *) -1) { fprintf(stderr, ERR_STR "Unable to attach shared memory (rw): %s" CLR_STR "\n", strerror(errno)); - shmctl(shm_id, IPC_RMID, NULL); return -2; } cache = shm_rw;