Cache libasound.so access in snd_dlopen

Speed up repeated calls to snd_dlopen by caching the path to
libasound.so; this reduces the instructions executed by
snd_device_name_hint by 40 percent.

Signed-off-by: John Lindgren <john.lindgren@tds.net>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2009-11-03 16:34:34 +01:00
parent e1c7dd2613
commit 0bff868580

View file

@ -54,9 +54,13 @@ void *snd_dlopen(const char *name, int mode)
#else
#ifdef HAVE_LIBDL
if (name == NULL) {
static const char * self = NULL;
if (self == NULL) {
Dl_info dlinfo;
if (dladdr(snd_dlopen, &dlinfo) > 0)
name = dlinfo.dli_fname;
self = dlinfo.dli_fname;
}
name = self;
}
#endif
#endif