summaryrefslogtreecommitdiff
path: root/deps/uv/src/win/thread.c
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2013-08-29 15:04:27 +0200
committerBert Belder <bertbelder@gmail.com>2013-08-29 15:38:32 +0200
commite83a0cd016ef03d3ec3b491325b347be886c1476 (patch)
treef9c61bd589f91c07f2dbaec25e09cc8f34d5745f /deps/uv/src/win/thread.c
parenta9eb96d0201fa7d13c898a154e81fd9531358d2f (diff)
downloadandroid-node-v8-e83a0cd016ef03d3ec3b491325b347be886c1476.tar.gz
android-node-v8-e83a0cd016ef03d3ec3b491325b347be886c1476.tar.bz2
android-node-v8-e83a0cd016ef03d3ec3b491325b347be886c1476.zip
uv: upgrade to v0.11.11
Diffstat (limited to 'deps/uv/src/win/thread.c')
-rw-r--r--deps/uv/src/win/thread.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/deps/uv/src/win/thread.c b/deps/uv/src/win/thread.c
index e5eb70186d..0631da5aff 100644
--- a/deps/uv/src/win/thread.c
+++ b/deps/uv/src/win/thread.c
@@ -680,3 +680,36 @@ void uv_barrier_wait(uv_barrier_t* barrier) {
uv_sem_wait(&barrier->turnstile2);
uv_sem_post(&barrier->turnstile2);
}
+
+
+int uv_key_create(uv_key_t* key) {
+ key->tls_index = TlsAlloc();
+ if (key->tls_index == TLS_OUT_OF_INDEXES)
+ return UV_ENOMEM;
+ return 0;
+}
+
+
+void uv_key_delete(uv_key_t* key) {
+ if (TlsFree(key->tls_index) == FALSE)
+ abort();
+ key->tls_index = TLS_OUT_OF_INDEXES;
+}
+
+
+void* uv_key_get(uv_key_t* key) {
+ void* value;
+
+ value = TlsGetValue(key->tls_index);
+ if (value == NULL)
+ if (GetLastError() != ERROR_SUCCESS)
+ abort();
+
+ return value;
+}
+
+
+void uv_key_set(uv_key_t* key, void* value) {
+ if (TlsSetValue(key->tls_index, value) == FALSE)
+ abort();
+}