2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#include "core/DynamicLoader.h"
44#ifndef DOXYGEN_SHOULD_SKIP_THIS
46#include "log/Logger.h"
58 if (handle !=
nullptr) {
63 LOG(TRACE) <<
"DynLoader: dlOpen: " << libFile <<
": success";
72 if (handle !=
nullptr) {
82 LOG(TRACE) <<
"DynLoader: dlCloseDelayed: " << handle <<
": not opened using dlOpen";
85 LOG(TRACE) <<
"DynLoader: dlCloseDelayed: handle is nullptr";
92 if (handle !=
nullptr) {
98 LOG(TRACE) <<
"DynLoader: dlCloseDelayed: " << handle <<
": not opened using dlOpen";
101 LOG(TRACE) <<
"DynLoader: dlClose handle: nullptr";
126 LOG(TRACE) <<
" dlClose: " << library
.fileName <<
": success";
134 LOG(TRACE) <<
"DynLoader: execDlCloseDeleyed";
143 LOG(TRACE) <<
"DynLoader: execDlCloseDeleyed done";
148 LOG(TRACE) <<
"DynLoader: execDlCloseAll";
157 LOG(TRACE) <<
"DynLoader: execDlCloseAll done";
static void * dlRegisterHandle(void *handle, const std::string &libFile)
static int realExecDlClose(const Library &library)
static std::list< void * > closeHandles
static int dlClose(void *handle)
static std::map< void *, Library > dlOpenedLibraries
static void * dlSym(void *handle, const std::string &symbol)
static void execDlCloseDeleyed()
static int dlClose(const Library &library)
static void execDlCloseAll()
static void dlCloseDelayed(void *handle)
int dlclose(void *handle)
void * dlsym(void *handle, const char *symbol)