about summary refs log tree commit diff
diff options
context:
space:
mode:
-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);
 }