aboutsummaryrefslogtreecommitdiff
path: root/works/life/operating-system-experiment/Semaphore.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-28 23:13:39 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-28 23:13:39 +0800
commit99e2e923d0c77b02f3fb4ff648ea916954868606 (patch)
treeec8e03f6f2cd1ce43990fb4fe6cd631967d0237e /works/life/operating-system-experiment/Semaphore.h
parent1cee979f5d36b311a03cc7397a036ba11caf3d42 (diff)
downloadcrupest-99e2e923d0c77b02f3fb4ff648ea916954868606.tar.gz
crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.tar.bz2
crupest-99e2e923d0c77b02f3fb4ff648ea916954868606.zip
chore(store): move everything to store.
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