diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2010-07-01 19:25:45 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2010-07-01 19:25:45 +0000 |
commit | 5c18e9dfe10ac1d1ea0983ddea83330dd0d14041 (patch) | |
tree | ca2491ef38df06955329c0a88c1c1621792f4e1a /libexec/ld.so/dlfcn.c | |
parent | 49984b2fd4aaec1b1f239db0b01cbc3fd1a66109 (diff) |
When generating grpsym lists, avoid duplicates without searching the
already generated list. Speeds up startup on deeply nested dlopen binaries.
ok guenther@, tested by ckuethe@ and ajacoutot@
Diffstat (limited to 'libexec/ld.so/dlfcn.c')
-rw-r--r-- | libexec/ld.so/dlfcn.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/ld.so/dlfcn.c b/libexec/ld.so/dlfcn.c index f09b8b5603e..f975f61603e 100644 --- a/libexec/ld.so/dlfcn.c +++ b/libexec/ld.so/dlfcn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dlfcn.c,v 1.81 2010/05/02 04:57:01 guenther Exp $ */ +/* $OpenBSD: dlfcn.c,v 1.82 2010/07/01 19:25:44 drahn Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -85,7 +85,7 @@ dlopen(const char *libname, int flags) /* if opened but grpsym_list has not been created */ if (OBJECT_DLREF_CNT(object) == 1) { /* add first object manually */ - _dl_link_grpsym(object); + _dl_link_grpsym(object, 1); _dl_cache_grpsym_list(object); } goto loaded; |