Adding TLS abstraction.

This commit is contained in:
Ben Vanik
2015-07-15 22:20:33 -07:00
parent 48d5d76882
commit c3415e6332
3 changed files with 26 additions and 37 deletions

View File

@@ -89,6 +89,14 @@ SleepResult AlertableSleep(std::chrono::duration<Rep, Period> duration) {
std::chrono::duration_cast<std::chrono::microseconds>(duration));
}
typedef uint32_t TlsHandle;
constexpr TlsHandle kInvalidTlsHandle = UINT_MAX;
TlsHandle AllocateTlsHandle();
bool FreeTlsHandle(TlsHandle handle);
uintptr_t GetTlsValue(TlsHandle handle);
bool SetTlsValue(TlsHandle handle, uintptr_t value);
// Results for a WaitHandle operation.
enum class WaitResult {
// The state of the specified object is signaled.