aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-close.c6
-rw-r--r--elf/dl-open.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/elf/dl-close.c b/elf/dl-close.c
index eaf29ea..6681c5d 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -138,14 +138,14 @@ _dl_close (void *_map)
/* Decrement the reference count. */
if (map->l_opencount > 1 || map->l_type != lt_loaded)
{
+ /* Decrement the object's reference counter, not the dependencies'. */
+ --map->l_opencount;
+
/* There are still references to this object. Do nothing more. */
if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
_dl_debug_printf ("\nclosing file=%s; opencount=%u\n",
map->l_name, map->l_opencount);
- /* Decrement the object's reference counter, not the dependencies'. */
- --map->l_opencount;
-
/* If the direct use counter reaches zero we have to decrement
all the dependencies' usage counter. */
if (map->l_direct_opencount == 0)
diff --git a/elf/dl-open.c b/elf/dl-open.c
index f1fcfbc..0e06ca1 100644
--- a/elf/dl-open.c
+++ b/elf/dl-open.c
@@ -282,7 +282,7 @@ dl_open_worker (void *a)
/* Let the user know about the opencount. */
if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
_dl_debug_printf ("opening file=%s [%lu]; opencount=%u\n\n",
- new->l_name, new->l_ns, new->l_opencount);
+ new->l_name, new->l_ns, new->l_opencount + 1);
/* If the user requested the object to be in the global namespace
but it is not so far, add it now. */