summaryrefslogtreecommitdiffstats
path: root/src/util/support/threads.c
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2004-07-07 01:34:08 +0000
committerKen Raeburn <raeburn@mit.edu>2004-07-07 01:34:08 +0000
commitaa2e82af675d2436e8f4347940d27a272ed1ba8f (patch)
tree37ecf3f0f757f1b639d19bf5115f33e6af463069 /src/util/support/threads.c
parent253f8336a0fab3ceb7740b8480198269f5e1701e (diff)
downloadkrb5-aa2e82af675d2436e8f4347940d27a272ed1ba8f.tar.gz
krb5-aa2e82af675d2436e8f4347940d27a272ed1ba8f.tar.xz
krb5-aa2e82af675d2436e8f4347940d27a272ed1ba8f.zip
Make thread-specific data support build under Windows (but don't enable it yet)
* threads.c (struct tsd_block) [_WIN32]: Define. (k5_setspecific) [_WIN32]: Don't fill in a 'next' field. Fix variable reference for TSD key. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16551 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/support/threads.c')
-rw-r--r--src/util/support/threads.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/util/support/threads.c b/src/util/support/threads.c
index d80091b39..b6741c023 100644
--- a/src/util/support/threads.c
+++ b/src/util/support/threads.c
@@ -47,6 +47,9 @@ static unsigned char destructors_set[K5_KEY_MAX];
static DWORD tls_idx;
static CRITICAL_SECTION key_lock;
+struct tsd_block {
+ void *values[K5_KEY_MAX];
+};
static void (*destructors[K5_KEY_MAX])(void *);
static unsigned char destructors_set[K5_KEY_MAX];
@@ -204,8 +207,8 @@ int k5_setspecific (k5_key_t keynum, void *value)
for (i = 0; i < K5_KEY_MAX; i++)
t->values[i] = 0;
/* add to global linked list */
- t->next = 0;
- err = TlsSetValue(key, t);
+ /* t->next = 0; */
+ err = TlsSetValue(tls_idx, t);
if (err) {
free(t);
return err;