diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-11-06 04:49:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-11-06 04:49:03 +0000 |
commit | a2d80f9ade190429c6c72f9680529c57cdd8f427 (patch) | |
tree | 2a86ae82e5acb32cd4dd7c21716ba732a9419746 | |
parent | 9a0a9895169517cd5eec26f0afcf26a8900a2bc3 (diff) | |
download | glibc-a2d80f9ade190429c6c72f9680529c57cdd8f427.tar.gz glibc-a2d80f9ade190429c6c72f9680529c57cdd8f427.tar.xz glibc-a2d80f9ade190429c6c72f9680529c57cdd8f427.zip |
Update.
* elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount which happens at the beginning so that we can unload modules in __libc_freeres.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | elf/dl-fini.c | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 7d702f6e2a..60b95c6f5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,8 +11,9 @@ 2002-11-05 Ulrich Drepper <drepper@redhat.com> - * iconv/gconv_dl.c (do_release_all): Call __libc_dlclose as many - times as we opened the module. + * elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount + which happens at the beginning so that we can unload modules in + __libc_freeres. 2002-11-06 Kaz Kojima <kkojima@rr.iij4u.or.jp> diff --git a/elf/dl-fini.c b/elf/dl-fini.c index 4e2e66e841..e7a00e513e 100644 --- a/elf/dl-fini.c +++ b/elf/dl-fini.c @@ -169,6 +169,9 @@ _dl_fini (void) if (l->l_info[DT_FINI] != NULL) ((fini_t) DL_DT_FINI_ADDRESS (l, l->l_addr + l->l_info[DT_FINI]->d_un.d_ptr)) (); } + + /* Correct the previous increment. */ + --l->l_opencount; } if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_STATISTICS, 0)) |