2004-08-08 Ken Raeburn * threads.c (GET_NO_PTHREAD_TSD) [!HAVE_PRAGMA_WEAK_REF]: Macro result type should be pointer to tsd_block. 2004-07-31 Ken Raeburn * threads.c (krb5int_thread_support_init): Do finish initialization after key creation in POSIX case. 2004-07-23 Ken Raeburn * fake-addrinfo.c (krb5int_fac): Initialize the mutex. (krb5int_init_fac, krb5int_fini_fac): New functions; finish initializing or destroy the mutex. (krb5int_lock_fac, krb5int_unlock_fac): New functions; lock the mutex after calling krb5int_call_thread_support_init, or unlock it. * threads.c (krb5int_call_thread_support_init): New function. (krb5int_init_fac, krb5int_fini_fac): Declare. (krb5int_thread_support_init, krb5int_thread_support_fini): Call them. 2004-07-19 Ken Raeburn * fake-addrinfo.c: New file. * Makefile.in (STLIBOBJS, LIBOBJS, SRCS): Add it. 2004-07-06 Ken Raeburn * 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 * threads.c: Reorganize code: One definition of each function, with per-platform conditional tests inside, instead of per-platform definitions for each function. Combine common aspects of each function across platforms. 2004-06-21 Ken Raeburn * threads.c (key_lock): Change to a k5_mutex_t. (k5_key_register): Use k5_ lock routines. (pthread_getspecific, pthread_setspecific, pthread_key_create, pthread_key_delete) [HAVE_PRAGMA_WEAK_REF]: Declare weak. (tsd_if_single) [HAVE_PRAGMA_WEAK_REF]: New variable. (krb5int_thread_support_init): Do pthread key creation only if pthread code is loaded. (krb5int_thread_support_fini): Do pthread key deletion only if pthread code is loaded. (k5_key_register, k5_getspecific, k5_setspecific): Use tsd_if_single when pthread code is not loaded. 2004-06-17 Ken Raeburn * Makefile.in (BUILDTOP, LIBNAME, XTRA, OBJFILE): Define for Windows. (LIBOBJS): Define. ($(BUILDTOP)/include/krb5/autoconf.h): Disable rule on Windows. * threads.c (tls_idx, key_lock, destructors, destructors_set): New variables for Windows. (krb5int_thread_support_init, krb5int_thread_support_fini, k5_key_register, k5_getspecific, k5_setspecific, k5_key_delete, krb5int_thread_detach_hook): New functions for Windows. Some are just placeholders. 2004-06-14 Ken Raeburn * libkrb5support.exports: Drop krb5int_foreach_localaddr. 2004-06-04 Ken Raeburn * Makefile.in (LIBBASE): Renamed from LIB. 2004-05-05 Ken Raeburn * threads.c (krb5int_thread_support_fini) [!ENABLE_THREADS]: Provide a dummy function for now. * foreachaddr.c: Deleted. Code moved to lib/krb5/os/localaddr.c. * fake-addrinfo.c: Deleted. * Makefile.in (SRCS, STLIBOBJS): Updated. 2004-05-04 Ken Raeburn * New directory. * Makefile.in: New file. * threads.c: New file. Thread-specific data support. * fake-addrinfo.c: New file. Placeholder. * foreachaddr.c: New file, based on include/foreachaddr.c. * libkrb5support.exports: New file. * threads.c (k5_key_register, destructors, k5_setspecific) [!ENABLE_THREADS]: Update to fit declarations. * Makefile.in (SHLIB_EXPLIBS): Include $(LIBS). (SHLIB_RDIRS): Use $(KRB5_LIBDIR), for lack of anything better.