diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-close.c | 6 | ||||
-rw-r--r-- | elf/dl-open.c | 2 |
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. */ |