]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 8 May 2000 15:29:32 +0000 (15:29 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 8 May 2000 15:29:32 +0000 (15:29 +0000)
2000-05-08  Jakub Jelinek  <jakub@redhat.com>

* elf/dl-fini.c (_dl_fini): Bump l_opencount of all objects so that
they are not dlclose'd from underneath us.

ChangeLog
elf/dl-fini.c

index afdb9a7ca409d4e079463a04ccf19b9963518dde..72f8238979bec5d30aed17a90323bf0f8e01ebd1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf/dl-fini.c (_dl_fini): Bump l_opencount of all objects so that
+       they are not dlclose'd from underneath us.
+
 2000-05-08  Andreas Schwab  <schwab@suse.de>
 
        * posix/execle.c: Fix size parameter of memcpy.
index f218689628530fba8e1820d6e36c80ce879be275..9b103aeb7e3ecf6a12a4d61406fc044ef8b591b1 100644 (file)
@@ -58,7 +58,13 @@ _dl_fini (void)
      the pointers in.  */
   maps = (struct link_map **) alloca (nloaded * sizeof (struct link_map *));
   for (l = _dl_loaded, nloaded = 0; l != NULL; l = l->l_next)
-    maps[nloaded++] = l;
+    {
+      maps[nloaded++] = l;
+
+      /* Bump l_opencount of all objects so that they are not dlclose()ed
+        from underneath us.  */
+      ++l->l_opencount;
+    }
 
   /* Now we have to do the sorting.  */
   for (l = _dl_loaded->l_next; l != NULL; l = l->l_next)