}
int DoDlOpen(bool restore, std::string old_cwd, std::string libdir) {
- _I("do dlopen");
std::string hwc_message = "" + std::to_string(getpid()) +
"|lib loading start";
prctl(PR_TASK_PERF_USER_TRACE, hwc_message.c_str(), hwc_message.size());
+ _W("dlopen(%s) ++", argv_[LOADER_ARG_PATH]);
void* handle = dlopen(argv_[LOADER_ARG_PATH],
RTLD_LAZY | RTLD_GLOBAL | RTLD_NODELETE);
+ _W("dlopen(%s) --", argv_[LOADER_ARG_PATH]);
if (handle == nullptr) {
_E("dlopen(%s) is failed. error(%s)", argv_[LOADER_ARG_PATH], dlerror());
DoExec(libdir);
do_dlopen:
snprintf(hwc_message, sizeof(hwc_message), "%d|lib loading start", getpid());
prctl(PR_TASK_PERF_USER_TRACE, hwc_message, strlen(hwc_message));
+ _W("dlopen(%s) ++", argv[LOADER_ARG_PATH]);
handle = dlopen(argv[LOADER_ARG_PATH],
RTLD_LAZY | RTLD_GLOBAL | RTLD_NODELETE);
+ _W("dlopen(%s) --", argv[LOADER_ARG_PATH]);
if (handle == NULL) {
_E("dlopen(%s) is failed. error(%s)",
argv[LOADER_ARG_PATH], dlerror());