From 2a9d92a3e30d02658456272e06b1d8acccc696ba Mon Sep 17 00:00:00 2001 From: bartfaik04 Date: Sun, 1 Jun 2025 13:03:24 +0200 Subject: [PATCH] Delete guarder class --- Makefile | 2 +- src/guarder.cpp | 1 - src/guarder.h | 66 ------------------------------------------------- 3 files changed, 1 insertion(+), 68 deletions(-) delete mode 100644 src/guarder.cpp delete mode 100644 src/guarder.h diff --git a/Makefile b/Makefile index 7fa5e5e..fc542f6 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,2 @@ all: - g++ -lrt -std=c++17 src/main.cpp src/usermanager.cpp src/guarder.cpp -o ncsambawatcher \ No newline at end of file + g++ -lrt -std=c++17 src/main.cpp src/usermanager.cpp -o ncsambawatcher \ No newline at end of file diff --git a/src/guarder.cpp b/src/guarder.cpp deleted file mode 100644 index 78fb53b..0000000 --- a/src/guarder.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "guarder.h" \ No newline at end of file diff --git a/src/guarder.h b/src/guarder.h deleted file mode 100644 index 3579548..0000000 --- a/src/guarder.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef _GUARDER_H -#define _GUARDER_H - -#include -#include -#include -#include -#include - -class guarder{ -private: - const int shmid; - const int semid; - - void semaphoreOp(int op) { - struct sembuf sb{}; - sb.sem_num = 0; - sb.sem_op = op; - sb.sem_flg = 0; - semop(semid, &sb, 1); - } - - void setFlag(bool value) - { - semaphoreOp(-1); - bool *flag = static_cast(shmat(shmid, nullptr, 0)); - *flag = value; - shmdt(flag); - semaphoreOp(1); - } - -public: - guarder() : shmid(shmget(IPC_PRIVATE, sizeof(bool), 0666 | IPC_CREAT)), semid(semget(IPC_PRIVATE, 1, 0666 | IPC_CREAT)) - { - setFlagOff(); - } - - void setFlagOff() - { - setFlag(false); - } - - void setFlagOn() - { - setFlag(true); - } - - bool isFlagOn() - { - semaphoreOp(-1); - bool *flag = static_cast(shmat(shmid, nullptr, 0)); - bool ret = *flag; - shmdt(flag); - semaphoreOp(1); - return ret; - } - - ~guarder() - { - shmctl(shmid, IPC_RMID, nullptr); - semctl(semid, 0, IPC_RMID); - } - -}; - -#endif // _GUARDER_H \ No newline at end of file