(_dl_fini): Correct the increment of l_opencount which happens at the
authordrepper <drepper>
Wed, 6 Nov 2002 04:47:15 +0000 (04:47 +0000)
committerdrepper <drepper>
Wed, 6 Nov 2002 04:47:15 +0000 (04:47 +0000)
beginning so that we can unload modules in __libc_freeres.

elf/dl-fini.c

index 4e2e66e..e7a00e5 100644 (file)
@@ -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))