2002-12-16  Ulrich Drepper  <drepper@redhat.com>

	* 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.
This commit is contained in:
Ulrich Drepper 2002-12-16 22:17:11 +00:00
parent 9634cf9d4f
commit 0a1063f471
9 changed files with 90 additions and 37 deletions

View File

@ -1,3 +1,12 @@
2002-12-16 Ulrich Drepper <drepper@redhat.com>
* 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 <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE

View File

@ -1,3 +1,12 @@
2002-12-16 Ulrich Drepper <drepper@redhat.com>
* 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 <jakub@redhat.com>
* libc-cancellation.c: Guard both function with

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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 <stdio.h>
#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)

View File

@ -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 <stdio.h>
#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

View File

@ -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 <stdio.h>
#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);