diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
commit | 99e2e923d0c77b02f3fb4ff648ea916954868606 (patch) | |
tree | ec8e03f6f2cd1ce43990fb4fe6cd631967d0237e /works/life/operating-system-experiment/Semaphore.h | |
parent | 1cee979f5d36b311a03cc7397a036ba11caf3d42 (diff) | |
download | crupest-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.h | 47 |
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 |