From 36dabafe242e8dc290ff76885c43c773b6d20b28 Mon Sep 17 00:00:00 2001 From: Christian Krinitsin Date: Sun, 23 Mar 2025 20:11:53 +0100 Subject: prevent multiple server instances --- src/server/shared_memory_server.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/shared_memory_server.h b/src/server/shared_memory_server.h index e28fb6a..d4be69f 100644 --- a/src/server/shared_memory_server.h +++ b/src/server/shared_memory_server.h @@ -22,7 +22,11 @@ public: */ Server() { - shm_fd = shm_open(SHM_NAME, O_CREAT | O_RDWR, 0666); + shm_fd = shm_open(SHM_NAME, O_EXCL | O_CREAT | O_RDWR, 0666); + if (-1 == shm_fd) { + std::cout << "Server is already running!" << '\n'; + exit(-1); + } ftruncate(shm_fd, sizeof(SharedMemory)); -- cgit 1.4.1