diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2011-05-22 22:43:48 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2011-05-22 22:43:48 +0000 |
commit | 1332dfd77b30e91e262383d878389419b5706128 (patch) | |
tree | 855cb6367fc2fac91294e0bd8f3509377b938097 /libexec/ld.so/dlfcn.c | |
parent | 44f96cec27921325881829c52b084ed9b5f78668 (diff) |
Dynamic linker speed improvement diff. tested by several sinc k2k11.
get it in tree now deraadt@, ok by several ports folks. Thanks for the testing.
Diffstat (limited to 'libexec/ld.so/dlfcn.c')
-rw-r--r-- | libexec/ld.so/dlfcn.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libexec/ld.so/dlfcn.c b/libexec/ld.so/dlfcn.c index f975f61603e..74b2a587e4d 100644 --- a/libexec/ld.so/dlfcn.c +++ b/libexec/ld.so/dlfcn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dlfcn.c,v 1.82 2010/07/01 19:25:44 drahn Exp $ */ +/* $OpenBSD: dlfcn.c,v 1.83 2011/05/22 22:43:47 drahn Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -108,6 +108,7 @@ dlopen(const char *libname, int flags) _dl_unload_shlib(object); _dl_exit(0); } + _dl_search_list_valid = 0; err = _dl_rtld(object); if (err != 0) { _dl_real_close(object); @@ -263,6 +264,7 @@ dlclose(void *handle) retval = _dl_real_close(handle); + _dl_search_list_valid = 0; if (_dl_debug_map->r_brk) { _dl_debug_map->r_state = RT_CONSISTENT; |