* 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
+2004-07-06 Ken Raeburn <raeburn@mit.edu>
+
+ * threads.c (struct tsd_block) [_WIN32]: Define.
+ (k5_setspecific) [_WIN32]: Don't fill in a 'next' field. Fix
+ variable reference for TSD key.
+
2004-06-24 Ken Raeburn <raeburn@mit.edu>
* threads.c: Reorganize code: One definition of each function,
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];
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;