diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | include/sched.h | 1 | ||||
-rw-r--r-- | include/sys/stat.h | 2 | ||||
-rw-r--r-- | libio/memstream.c | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/fxstatat64.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c | 3 |
6 files changed, 21 insertions, 5 deletions
@@ -1,5 +1,16 @@ 2006-01-11 Ulrich Drepper <drepper@redhat.com> + * include/sys/stat.h: Add libc_hidden_proto for __fxstatat64. + * sysdeps/unix/sysv/linux/fxstatat64.c: Add libc_hidden_def for + __fxstatat64. + * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Add + __GI___fxstatat64 alias. + + * libio/memstream.c (_IO_mem_finish): Fix potential memory leak of + realloc fails. + + * include/sched.h: Add libc_hidden_proto for __sched_yield. + * libio/genops.c (_IO_unbuffer_write): Give concurrently running threads the chance to work correctly by trying to lock the stream. If this does not work, proceed without locking. diff --git a/include/sched.h b/include/sched.h index 4a142c69af..7b057ea833 100644 --- a/include/sched.h +++ b/include/sched.h @@ -10,6 +10,7 @@ extern int __sched_setscheduler (__pid_t __pid, int __policy, libc_hidden_proto (__sched_setscheduler) extern int __sched_getscheduler (__pid_t __pid); extern int __sched_yield (void); +libc_hidden_proto (__sched_yield) extern int __sched_get_priority_max (int __algorithm); extern int __sched_get_priority_min (int __algorithm); extern int __sched_rr_get_interval (__pid_t __pid, struct timespec *__t); diff --git a/include/sys/stat.h b/include/sys/stat.h index 4a4d05d938..72105a45a9 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -31,6 +31,8 @@ extern __inline__ int __mknod (__const char *__path, __mode_t __mode, } libc_hidden_proto (__xmknodat) +libc_hidden_proto (__fxstatat64) + /* The `stat', `fstat', `lstat' functions have to be handled special since even while not compiling the library with optimization calls to these diff --git a/libio/memstream.c b/libio/memstream.c index 4cc9ab2dfc..d8e8896144 100644 --- a/libio/memstream.c +++ b/libio/memstream.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-97,99,2000,2002,2003,2004 Free Software Foundation, Inc. +/* Copyright (C) 1995-97,99,2000,2002-2004,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -140,9 +140,9 @@ _IO_mem_finish (fp, dummy) { (*mp->bufloc)[fp->_IO_write_ptr - fp->_IO_write_base] = '\0'; *mp->sizeloc = fp->_IO_write_ptr - fp->_IO_write_base; - } - fp->_IO_buf_base = NULL; + fp->_IO_buf_base = NULL; + } - INTUSE(_IO_default_finish) (fp, 0); + _IO_str_finish (fp, 0); } diff --git a/sysdeps/unix/sysv/linux/fxstatat64.c b/sysdeps/unix/sysv/linux/fxstatat64.c index 83a8816697..220d4abfcf 100644 --- a/sysdeps/unix/sysv/linux/fxstatat64.c +++ b/sysdeps/unix/sysv/linux/fxstatat64.c @@ -134,3 +134,4 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag) return -1; } +libc_hidden_def (__fxstatat64) diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c b/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c index faa028cf26..159301c172 100644 --- a/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -80,3 +80,4 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) } #undef __fxstatat64 strong_alias (__fxstatat, __fxstatat64); +strong_alias (__fxstatat64, __GI___fxstatat64) |