summaryrefslogtreecommitdiff
path: root/iconv/gconv_dl.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconv/gconv_dl.c')
-rw-r--r--iconv/gconv_dl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/iconv/gconv_dl.c b/iconv/gconv_dl.c
index cc7627aba2..0bf6129e73 100644
--- a/iconv/gconv_dl.c
+++ b/iconv/gconv_dl.c
@@ -198,7 +198,9 @@ do_release_all (void *nodep)
/* Unload the shared object. */
if (obj->handle != NULL)
- __libc_dlclose (obj->handle);
+ do
+ __libc_dlclose (obj->handle);
+ while (--obj->counter > 0);
free (obj);
}