banan-os/kernel/include/kernel/Semaphore.h

24 lines
316 B
C++

#pragma once
#include <kernel/SpinLock.h>
namespace Kernel
{
class Semaphore
{
public:
void block();
void unblock();
bool is_blocked() const { return m_blocked; }
private:
void set_blocked(bool blocked) { m_blocked = blocked; }
private:
bool m_blocked { false };
friend class Scheduler;
};
}