2004-12-06 Ken Raeburn * threads.c [DEBUG_THREADS_STATS]: Include stdio.h. (stats_logfile) [DEBUG_THREADS_STATS]: New variable. (krb5int_thread_support_init) [DEBUG_THREADS_STATS]: Set it to point to a file on /dev/tty or stderr. (krb5int_thread_support_fini) [DEBUG_THREADS_STATS]: Flush it. (k5_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, get_stddev, krb5int_mutex_report_stats) [DEBUG_THREADS_STATS]: New functions. * libkrb5support.exports: Add krb5int_mutex_*_stats. 2004-11-19 Ken Raeburn * fake-addrinfo.c (HAVE_GETADDRINFO, HAVE_GETNAMEINFO)[_WIN32]: Don't define here. (protoname): Handle IPPROTO_IGMP. (debug_dump_addrinfo_args): Update for current interfaces to socktypename and familyname. 2004-11-15 Ken Raeburn * cache-addrinfo.h, init-addrinfo.c: New files, split out from fake-addrinfo.c. * fake-addrinfo.c: Include cache-addrinfo.h. (FAI_CACHE, struct face, struct fac): Moved to cache-addrinfo.h. (krb5int_fac, krb5int_init_fac, krb5int_fini_fac): Moved to init-addrinfo.c. (addrinfo, struct addrinfo): Don't define. (AI_* and NI_* and EAI_* macros): Don't define. * threads.c: Include cache-addrinfo.h. (krb5int_init_fac, krb5int_fini_fac): Don't declare. * Makefile.in (SRCS, STLIBOBJS, LIBOBJS): Updated. 2004-11-03 Ken Raeburn * fake-addrinfo.c: Import most of the contents of include/fake-addrinfo.h, so we only compile it once. (krb5int_getaddrinfo, krb5int_freeaddrinfo, krb5int_getnameinfo, krb5int_gai_strerror): New functions, always defined and exported. * libkrb5support.exports: Export the new functions, not the old _fac symbols. 2004-10-25 Ken Raeburn * libkrb5support.exports: Export krb5int_fac, _lock_fac, _unlock_fac. 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.