aboutsummaryrefslogtreecommitdiff
path: root/works/life/operating-system-experiment/Semaphore.h
diff options
context:
space:
mode:
Diffstat (limited to 'works/life/operating-system-experiment/Semaphore.h')
-rw-r--r--works/life/operating-system-experiment/Semaphore.h47
1 files changed, 0 insertions, 47 deletions
diff --git a/works/life/operating-system-experiment/Semaphore.h b/works/life/operating-system-experiment/Semaphore.h
deleted file mode 100644
index 430c036..0000000
--- a/works/life/operating-system-experiment/Semaphore.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef HEADER_SEMAPHORE_H
-#define HEADER_SEMAPHORE_H
-
-#include "Base.h"
-
-#include <memory>
-
-#ifdef CRU_WINDOWS
-#include <Windows.h>
-#else
-#include <semaphore.h>
-#endif
-
-namespace cru {
-class CRU_API Semaphore {
-public:
- explicit Semaphore(unsigned init_value = 1);
-
- Semaphore(const Semaphore &other) = delete;
- Semaphore &operator=(const Semaphore &other) = delete;
-
- Semaphore(Semaphore &&other);
- Semaphore &operator=(Semaphore &&other);
-
- ~Semaphore();
-
-public:
- void P();
- void V();
-
- void Acquire();
- bool TryAcquire();
- void Release();
-
-private:
- void Destroy();
-
-private:
-#ifdef CRU_WINDOWS
- HANDLE handle_ = nullptr;
-#else
- std::unique_ptr<sem_t> semaphore_;
-#endif
-};
-} // namespace cru
-
-#endif \ No newline at end of file