diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-08-25 14:22:05 +0000 |
---|---|---|
committer | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2004-08-25 14:22:05 +0000 |
commit | 8e4a1b8a993e8323f39dbc8f66a14ed0319259ad (patch) | |
tree | a8e1a8048f85cfa2642a8a77a43f4610a4c4a007 /ldso/libdl | |
parent | 25a92c77e937e4ac1a2ba4eb4886125bf3fc856e (diff) |
Hopefully fix Laszlo and Jacobs dlopen problem.
Diffstat (limited to 'ldso/libdl')
-rw-r--r-- | ldso/libdl/libdl.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c index d1274e3ff..6c4e9843b 100644 --- a/ldso/libdl/libdl.c +++ b/ldso/libdl/libdl.c @@ -179,8 +179,11 @@ void *dlopen(const char *libname, int flag) if(_dl_debug) fprintf(stderr, "Trying to dlopen '%s'\n", (char*)libname); #endif - if (!(tpnt = _dl_check_if_named_library_is_loaded((char *)libname, 0))) + tpnt = _dl_check_if_named_library_is_loaded((char *)libname, 0); + if (!(tpnt)) tpnt = _dl_load_shared_library(0, &rpnt, tfrom, (char*)libname, 0); + else + tpnt->usage_count++; if (tpnt == NULL) { _dl_unmap_cache(); return NULL; |