diff options
author | Roland McGrath <roland@gnu.org> | 1996-07-09 14:49:13 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1996-07-09 14:49:13 +0000 |
commit | c150923988933b5db75a974d4cc08cd7f7aaf3dc (patch) | |
tree | 93cbfeaafc3d720b353e4012a5a54c69a7fec55d /sysdeps/stub | |
parent | 089b2b8ad8bac143a3820e6c9b60f7c505ca8b49 (diff) | |
download | glibc-c150923988933b5db75a974d4cc08cd7f7aaf3dc.zip glibc-c150923988933b5db75a974d4cc08cd7f7aaf3dc.tar.gz glibc-c150923988933b5db75a974d4cc08cd7f7aaf3dc.tar.bz2 |
Tue Jul 9 09:37:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/libc-lock.h: New file.
* sysdeps/unix/readdir.c: Do locking.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/closedir.c: Likewise.
* sysdeps/unix/bsd/telldir.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/opendir.c: Initialize the lock.
* sysdeps/unix/opendir.c: Likewise.
* sysdeps/mach/hurd/dirstream.h: Include <libc-lock.h>.
(struct __dirstream): Add lock member using __libc_lock_define.
* sysdeps/unix/dirstream.h: Likewise.
* sysdeps/stub/libc-lock.h (__libc_lock_fini): New macro.
* stdlib/mbstowcs.c: Pass address of pointer to mbsrtowcs.
* stdlib/wcstombs.c: Use wcsrtombs instead of mbsrtowcs.
Thu Jul 4 01:34:04 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/stringtrans.c: Fix typo in copyright.
* stdio-common/printf-prs.c: Add casts to prevent
signed<->unsigned warnings.
* stdio-common/printf-parse.h: Initialize state variable before
calling mbrlen.
* stdio-common/printf-prs.c: Don't initialize state variable here.
* stdio-common/vfprintf.c: Don't initialize state variable.
(vfprintf): While determining length of multibyte string don't
try to be clever in determining characters to use for first
call.
Add real implementation of multibyte<->wide char conversion
functions. The functions always convert between the fixed wide
char format (ISO 10646 in UCS4) and the UTF8 representation of
this character set. Conversion between the currently used
8bit character set and ISO 10646 will not take place. This is
what iconv() is for.
* wcsmbs/wchar.h (mbstate_t): Define as structure to replace
dummy definition.
Add optimized version of `mbrlen' function.
* wcsmbs/btowc.c (btowc): Restrict range of legal characters
to 0...0x7f.
* wcsmbs/wctob.c (wctob): Restrict range of legal characters
to 0..0x7f.
* wcsmbs/mbrlen.c: Make mbrlen a weak alias of __mbrlen.
This is needed in the wchar.h header.
* wcsmbs/mbrtowc.c: Replace dummy implementation. Convert UTF8
encoded character to UCS4.
* wcsmbs/mbsinit.c: Replace dummy implementation. Test COUNT
element of `mbstate_t' for initial state.
* wcsmbs/mbsrtowcs.c: Replace dummy implementation. Convert UTF8
encoded string to UCS4 string.
* wcsmbs/wcrtomb.c: Replace dummy implementation. Convert UCS4
character to UTF8 encoded form.
* wcsmbs/wcsrtombs.c: Replace dummy implementation. Convert UCS4
encoded string to UTF8 encoded form.
Diffstat (limited to 'sysdeps/stub')
-rw-r--r-- | sysdeps/stub/libc-lock.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sysdeps/stub/libc-lock.h b/sysdeps/stub/libc-lock.h index ce6cab0..a8608df 100644 --- a/sysdeps/stub/libc-lock.h +++ b/sysdeps/stub/libc-lock.h @@ -24,7 +24,10 @@ Cambridge, MA 02139, USA. */ /* Define a lock variable NAME with storage class CLASS. The lock must be initialized with __libc_lock_init before it can be used (or define it with __libc_lock_define_initialized, below). Use `extern' for CLASS to - declare a lock defined in another module. */ + declare a lock defined in another module. In public structure + definitions, the lock element must come last, because its storage size + will not be known outside of libc. (Or you can use a pointer to the + lock structure; i.e. NAME begins with a `*'.) */ #define __libc_lock_define(CLASS,NAME) /* Define an initialized lock variable NAME with storage class CLASS. */ @@ -34,6 +37,11 @@ Cambridge, MA 02139, USA. */ state. */ #define __libc_lock_init(NAME) +/* Finalize the named lock variable, which must be locked. It cannot be + used again until __libc_lock_init is called again on it. This must be + called on a lock variable before the containing storage is reused. */ +#define __libc_lock_fini(NAME) + /* Lock the named lock variable. */ #define __libc_lock_lock(NAME) |