#pragma once
#include "mutex.hpp"
#include <stdint.h>
#ifdef _WIN32
typedef CONDITION_VARIABLE ConditionVariableType;
#else
typedef pthread_cond_t ConditionVariableType;
#endif
namespace sprawl
{
namespace threading
{
class ConditionVariable;
}
}
class sprawl::threading::ConditionVariable
{
public:
ConditionVariable();
~ConditionVariable();
void Wait(SharedLock& lock);
void WaitFor(SharedLock& lock, int64_t nanoseconds);
void WaitUntil(SharedLock& lock, int64_t nanosecondTimestamp);
void Notify();
void NotifyAll();
private:
ConditionVariableType m_conditionVariable;
};
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 23398 | ququlala | "Forking branch Mainline of shadauxcat-libsprawl to ququlala-libsprawl." | ||
| //guest/ShadauxCat/Sprawl/Mainline/threading/condition_variable.hpp | |||||
| #1 | 12508 | ShadauxCat |
-Added threading library. Currently only functional for Linux; Windows will fail to link. (I will fix this soon.) -Fixed missing move and copy constructors in List and ForwardList -Fixed broken move constructor in HashMap -Fixed missing const get() in HashMap -Fixed broken operator-> in ListIterator -Added sprawl::noncopyable -Added sketch headers for filesystem library -Made StringLiteral hashable, added special hashes for pointers and integers in murmur3 -Fixed compiler warning in async_network -Updated memory allocators to use new threading library for mutexes -Added accessibility to sprawl::StringLiteral to be able toa ccess its pointer and length and perform pointer comparisons #review-12504 |
||