From 40621774ec648c7d0089f66b4e3aeb94e4232769 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Sun, 20 Sep 2009 16:01:02 -0700 Subject: [PATCH] log an error when loading an existing GL driver fails --- opengl/libs/EGL/Loader.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp index d51b33355d2d..7e7da1bd506d 100644 --- a/opengl/libs/EGL/Loader.cpp +++ b/opengl/libs/EGL/Loader.cpp @@ -222,19 +222,28 @@ void Loader::init_api(void* dso, } } -void *Loader::load_driver(const char* driver, gl_hooks_t* hooks, uint32_t mask) +void *Loader::load_driver(const char* driver_absolute_path, + gl_hooks_t* hooks, uint32_t mask) { - void* dso = dlopen(driver, RTLD_NOW | RTLD_LOCAL); - if (dso == 0) + if (access(driver_absolute_path, R_OK)) { + // this happens often, we don't want to log an error return 0; + } + + void* dso = dlopen(driver_absolute_path, RTLD_NOW | RTLD_LOCAL); + if (dso == 0) { + const char* err = dlerror(); + LOGE("load_driver(%s): %s", driver_absolute_path, err?err:"unknown"); + return 0; + } - LOGD("loaded %s", driver); + LOGD("loaded %s", driver_absolute_path); if (mask & EGL) { getProcAddress = (getProcAddressType)dlsym(dso, "eglGetProcAddress"); LOGE_IF(!getProcAddress, - "can't find eglGetProcAddress() in %s", driver); + "can't find eglGetProcAddress() in %s", driver_absolute_path); gl_hooks_t::egl_t* egl = &hooks->egl; __eglMustCastToProperFunctionPointerType* curr = -- 2.11.0