2002-11-05  Jakub Jelinek  <jakub@redhat.com>

	* iconv/gconv_dl.c (free_mem): Clear loaded.
	* locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's
	cleanup if any.

	* sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
This commit is contained in:
Ulrich Drepper 2002-11-05 19:21:56 +00:00
parent 52a16e5801
commit f6e50e66ad
4 changed files with 18 additions and 3 deletions

View File

@ -1,5 +1,13 @@
2002-11-05 Jakub Jelinek <jakub@redhat.com>
* iconv/gconv_dl.c (free_mem): Clear loaded.
* locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's
cleanup if any.
2002-11-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
* libio/ioseekoff.c: Remove INTDEF. Define _IO_seekoff_unlocked. Same
as old code without locking. _IO_seekoff calls this function after
locking the stream.

View File

@ -1,5 +1,5 @@
/* Handle loading/unloading of shared object for transformation.
Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -206,6 +206,7 @@ do_release_all (void *nodep)
libc_freeres_fn (free_mem)
{
__tdestroy (loaded, do_release_all);
loaded = NULL;
}

View File

@ -510,8 +510,13 @@ _nl_archive_subfreeres (void)
free (dead->name);
for (category = 0; category < __LC_LAST; ++category)
if (category != LC_ALL)
/* _nl_unload_locale just does this free for the archive case. */
free (dead->data[category]);
{
/* _nl_unload_locale just does this free for the archive case. */
if (dead->data[category]->private.cleanup)
(*dead->data[category]->private.cleanup) (dead->data[category]);
free (dead->data[category]);
}
free (dead);
}
archloaded = NULL;

View File

@ -18,6 +18,7 @@
#include <errno.h>
#include <stddef.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>