diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-12-11 01:40:39 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-12-11 01:40:39 +0000 |
commit | 6259ec0d78fd301572fcb616fdfa0500b828a824 (patch) | |
tree | b1a008ed66281799defcaf56a92d3b592ca1f34a /malloc | |
parent | aee321f468f9214700b24e7aef39ef27bda4c42c (diff) | |
download | glibc-6259ec0d78fd301572fcb616fdfa0500b828a824.tar.gz glibc-6259ec0d78fd301572fcb616fdfa0500b828a824.tar.xz glibc-6259ec0d78fd301572fcb616fdfa0500b828a824.zip |
update from main arcive 961210 cvs/libc-961211
Wed Dec 11 01:04:30 1996 Ulrich Drepper <drepper@cygnus.com> Add NIS NSS implementation. * shlib-versions: Add versions for NIS libraries. * sysdeps/unix/inet/Subdirs: Add nis. * nis/Banner: New file. * nis/Makefile: New file. * nis/nss-nis.h: New file. * nis/yp_xdr.h: New file. * nis/ypclnt.h: New file. * nis/ypupdate_xdr.c: New file. * nis/nss_compat/compat-grp.c: New file. * nis/nss_compat/compat-pwd.c: New file. * nis/nss_compat/compat-spwd.c: New file. * nis/nss_nis/nis-alias.c: New file. * nis/nss_nis/nis-ethers.c: New file. * nis/nss_nis/nis-grp.c: New file. * nis/nss_nis/nis-hosts.c: New file. * nis/nss_nis/nis-netgrp.c: New file. * nis/nss_nis/nis-network.c: New file. * nis/nss_nis/nis-proto.c: New file. * nis/nss_nis/nis-publickey.c: New file. * nis/nss_nis/nis-pwd.c: New file. * nis/nss_nis/nis-rpc.c: New file. * nis/nss_nis/nis-service.c: New file. * nis/nss_nis/nis-spwd.c: New file. * nis/rpcsvc/yp.h: New file. * nis/rpcsvc/yp.x: New file. * nis/rpcsvc/yp_prot.h: New file. * nis/rpcsvc/ypclnt.h: New file. * nis/rpcsvc/ypupd.h: New file. * libio/_G_config.h: Define _G_HAVE_SYS_WAIT and _G_HAVE_PRINTF_FP. * locale/C-numeric.c: Update copyright. * locale/Makefile: Add rules to build libBrokenLocale. * locale/broken_cur_max.c: New file. * locale/mb_cur_max.c: Update copyright. (__ctype_get_mb_cur_max): Make function weak. * new-malloc/malloc.c: Correct copyright. * new-malloc/thread-m.h: Correct key handling. * shadow/lckpwdf.c: Update copyright. (PWD_LOCKFILE): Change to /etc/.pwd.lock. * stdlib/strtod.c: Add another assertion. * stdlib/tst-strtod.c: Add another test case. * sysdeps/generic/paths.h: Add _PATH_PRESERVE. Needed by nvi. * sysdeps/unix/sysv/linux/paths.h: Likewise. * sysdeps/gnu/utmpbits.h: Rename ut_addr field to ut_addr_v6. ut_addr names a single element in ut_addr_v6. * sysdeps/mach/hurd/xmknod.c: Remove alias from __mknod to mknod. Patch by Thomas Bushnell, n/BSG. Tue Dec 10 11:35:28 1996 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/strncmp.S: Fix aligned short truncated compare corner condition. * sysdeps/alpha/memchr.S: Don't read ahead, even if the load did fit nicely into that delay slot (patch from David Mosberger-Tang). Mon Dec 9 23:53:43 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Renamed from `ttyname_r'. (ttyname_r): New alias. * stdio-common/printf_fp.c (__guess_grouping): Fix off by one
Diffstat (limited to 'malloc')
-rw-r--r-- | malloc/malloc.c | 3 | ||||
-rw-r--r-- | malloc/thread-m.h | 21 |
2 files changed, 16 insertions, 8 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index 22f2ee89ed..3e843541eb 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1,7 +1,8 @@ /* Malloc implementation for multiple threads without lock contention. Copyright (C) 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>, 1996. + Contributed by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> + and Doug Lea <dl@cs.oswego.edu>, 1996. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as diff --git a/malloc/thread-m.h b/malloc/thread-m.h index 331afc71e8..10da26ba32 100644 --- a/malloc/thread-m.h +++ b/malloc/thread-m.h @@ -19,7 +19,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* One out of _LIBC, USE_PTHREADS, USE_THR, or USE_SPROC should be +/* One out of _LIBC, USE_PTHREADS, USE_THR or USE_SPROC should be defined, otherwise the token NO_THREADS and dummy implementations of the macros will be defined. */ @@ -42,12 +42,19 @@ typedef pthread_key_t tsd_key_t; #define MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER -#define tsd_key_create(key, destr) \ - if (__pthread_key_create != NULL) { __pthread_key_create(key, destr); } -#define tsd_setspecific(key, data) \ - if (__pthread_setspecific != NULL) { __pthread_setspecific(key, data); } -#define tsd_getspecific(key, vptr) \ - (vptr = (__pthread_getspecific != NULL ? __pthread_getspecific(key) : NULL)) +static Void_t *malloc_key_data; + +#define tsd_key_create(key, destr) \ + if (__pthread_key_create != NULL) { \ + __pthread_key_create(key, destr); \ + } else { *(key) = (tsd_key_t) 0; } +#define tsd_setspecific(key, data) \ + if (__pthread_setspecific != NULL) { \ + __pthread_setspecific(key, data); \ + } else { malloc_key_data = (Void_t *) data; } +#define tsd_getspecific(key, vptr) \ + (vptr = (__pthread_getspecific != NULL \ + ? __pthread_getspecific(key) : malloc_key_data)) #define mutex_init(m) \ (__pthread_mutex_init != NULL ? __pthread_mutex_init (m, NULL) : 0) |