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 glibc-6259ec0d78fd301572fcb616fdfa0500b828a824.tar.gz glibc-6259ec0d78fd301572fcb616fdfa0500b828a824.tar.bz2 glibc-6259ec0d78fd301572fcb616fdfa0500b828a824.zip |
update from main arcive 961210cvs/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) |