diff --git a/ChangeLog b/ChangeLog index 710832543c..a82c5c9238 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-12-16 Ulrich Drepper + + * stdio-common/Makefile (routines): Remove lockfile. Add + flockfile, ftrylockfile, and funlockfile. + * sysdeps/generic/lockfile.c: Removed. Each function has its own file. + * sysdeps/generic/flockfile.c: New file. + * sysdeps/generic/ftrylockfile.c: New file. + * sysdeps/generic/funlockfile.c: New file. + 2002-12-16 Jakub Jelinek * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 49c94ee3b3..e1e77223e2 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,12 @@ +2002-12-16 Ulrich Drepper + + * flockfile.c: Moved to... + * sysdeps/pthread/flockfile.c: ...here. New file. + * funlockfile.c: Moved to... + * sysdeps/pthread/funlockfile.c: ...here. New file. + * ftrylockfile.c: Moved to... + * sysdeps/pthread/ftrylockfile.c: ...here. New file. + 2002-12-16 Jakub Jelinek * libc-cancellation.c: Guard both function with diff --git a/nptl/flockfile.c b/nptl/sysdeps/pthread/flockfile.c similarity index 91% rename from nptl/flockfile.c rename to nptl/sysdeps/pthread/flockfile.c index db6776813c..a90215cc1f 100644 --- a/nptl/flockfile.c +++ b/nptl/sysdeps/pthread/flockfile.c @@ -24,9 +24,10 @@ void -flockfile (stream) +__flockfile (stream) FILE *stream; { _IO_lock_lock (*stream->_lock); } -strong_alias (flockfile, _IO_flockfile) +strong_alias (__flockfile, _IO_flockfile) +strong_alias (__flockfile, flockfile) diff --git a/nptl/ftrylockfile.c b/nptl/sysdeps/pthread/ftrylockfile.c similarity index 90% rename from nptl/ftrylockfile.c rename to nptl/sysdeps/pthread/ftrylockfile.c index 2266b251b4..21c1ea01ed 100644 --- a/nptl/ftrylockfile.c +++ b/nptl/sysdeps/pthread/ftrylockfile.c @@ -24,9 +24,10 @@ int -ftrylockfile (stream) +__ftrylockfile (stream) FILE *stream; { return _IO_lock_trylock (*stream->_lock); } -strong_alias (ftrylockfile, _IO_ftrylockfile) +strong_alias (__ftrylockfile, _IO_ftrylockfile) +weak_alias (__ftrylockfile, ftrylockfile) diff --git a/nptl/funlockfile.c b/nptl/sysdeps/pthread/funlockfile.c similarity index 90% rename from nptl/funlockfile.c rename to nptl/sysdeps/pthread/funlockfile.c index f0314b2fc6..f941fc9851 100644 --- a/nptl/funlockfile.c +++ b/nptl/sysdeps/pthread/funlockfile.c @@ -24,9 +24,10 @@ void -funlockfile (stream) +__funlockfile (stream) FILE *stream; { _IO_lock_unlock (*stream->_lock); } -strong_alias (funlockfile, _IO_funlockfile) +strong_alias (__funlockfile, _IO_funlockfile) +weak_alias (__funlockfile, funlockfile) diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 802e4e37e8..ea6da1d0b1 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -34,7 +34,7 @@ routines := \ tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \ getline getw putw \ remove rename \ - lockfile + flockfile ftrylockfile funlockfile install-others = $(inst_includedir)/bits/stdio_lim.h @@ -87,8 +87,6 @@ tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata -ifeq ($(stdio),libio) ifneq (,$(filter %REENTRANT, $(defines))) CPPFLAGS += -D_IO_MTSAFE_IO endif -endif diff --git a/sysdeps/generic/flockfile.c b/sysdeps/generic/flockfile.c new file mode 100644 index 0000000000..571930ee54 --- /dev/null +++ b/sysdeps/generic/flockfile.c @@ -0,0 +1,30 @@ +/* Lock I/O stream. Singlethreaded version. + Copyright (C) 1996, 1997, 2000, 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include + +#undef _IO_flockfile + +void +__flockfile (FILE *stream) +{ + /* Do nothing. Using this version does not do any locking. */ +} +weak_alias (__flockfile, flockfile); +weak_alias (__flockfile, _IO_flockfile) diff --git a/sysdeps/generic/lockfile.c b/sysdeps/generic/ftrylockfile.c similarity index 62% rename from sysdeps/generic/lockfile.c rename to sysdeps/generic/ftrylockfile.c index eff457c438..7bd3e9b53b 100644 --- a/sysdeps/generic/lockfile.c +++ b/sysdeps/generic/ftrylockfile.c @@ -1,5 +1,5 @@ -/* lockfile - Handle locking and unlocking of stream. Singlethreaded version. - Copyright (C) 1996,97,2000 Free Software Foundation, Inc. +/* Try locking I/O stream. Singlethreaded version. + Copyright (C) 1996, 1997, 2000, 2002 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 @@ -19,32 +19,8 @@ #include -#undef _IO_flockfile -#undef _IO_funlockfile #undef _IO_ftrylockfile -void -__flockfile (FILE *stream) -{ - /* Do nothing. Using this version does not do any locking. */ -} -weak_alias (__flockfile, flockfile); -#ifdef USE_IN_LIBIO -weak_alias (__flockfile, _IO_flockfile) -#endif - - -void -__funlockfile (FILE *stream) -{ - /* Do nothing. Using this version does not do any locking. */ -} -#ifdef USE_IN_LIBIO -weak_alias (__funlockfile, _IO_funlockfile) -#endif -weak_alias (__funlockfile, funlockfile); - - int __ftrylockfile (FILE *stream) { @@ -52,6 +28,4 @@ __ftrylockfile (FILE *stream) return 1; } weak_alias (__ftrylockfile, ftrylockfile); -#ifdef USE_IN_LIBIO weak_alias (__ftrylockfile, _IO_ftrylockfile) -#endif diff --git a/sysdeps/generic/funlockfile.c b/sysdeps/generic/funlockfile.c new file mode 100644 index 0000000000..902d29478d --- /dev/null +++ b/sysdeps/generic/funlockfile.c @@ -0,0 +1,30 @@ +/* Unlock I/O stream. Singlethreaded version. + Copyright (C) 1996, 1997, 2000, 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include + +#undef _IO_funlockfile + +void +__funlockfile (FILE *stream) +{ + /* Do nothing. Using this version does not do any locking. */ +} +weak_alias (__funlockfile, _IO_funlockfile) +weak_alias (__funlockfile, funlockfile);