projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: event notifier create protocol order issue
[lttng-ust.git]
/
liblttng-ust
/
lttng-getcpu.c
diff --git
a/liblttng-ust/lttng-getcpu.c
b/liblttng-ust/lttng-getcpu.c
index 3e675a5a1f422c376499065a035849084ffca4b1..7c33b49492cb944c5aa303ce753c29c59fc67f70 100644
(file)
--- a/
liblttng-ust/lttng-getcpu.c
+++ b/
liblttng-ust/lttng-getcpu.c
@@
-16,7
+16,7
@@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#define _
GNU
_SOURCE
+#define _
LGPL
_SOURCE
#include <error.h>
#include <dlfcn.h>
#include <stdlib.h>
#include <error.h>
#include <dlfcn.h>
#include <stdlib.h>
@@
-30,6
+30,9
@@
int (*lttng_get_cpu)(void);
int (*lttng_get_cpu)(void);
+static
+void *getcpu_handle;
+
int lttng_ust_getcpu_override(int (*getcpu)(void))
{
CMM_STORE_SHARED(lttng_get_cpu, getcpu);
int lttng_ust_getcpu_override(int (*getcpu)(void))
{
CMM_STORE_SHARED(lttng_get_cpu, getcpu);
@@
-39,20
+42,21
@@
int lttng_ust_getcpu_override(int (*getcpu)(void))
void lttng_ust_getcpu_init(void)
{
const char *libname;
void lttng_ust_getcpu_init(void)
{
const char *libname;
- void *handle;
void (*libinit)(void);
void (*libinit)(void);
- libname = lttng_secure_getenv("LTTNG_UST_GETCPU_PLUGIN");
+ if (getcpu_handle)
+ return;
+ libname = lttng_getenv("LTTNG_UST_GETCPU_PLUGIN");
if (!libname)
return;
if (!libname)
return;
- handle = dlopen(libname, RTLD_NOW);
- if (!handle) {
+
getcpu_
handle = dlopen(libname, RTLD_NOW);
+ if (!
getcpu_
handle) {
PERROR("Cannot load LTTng UST getcpu override library %s",
libname);
return;
}
dlerror();
PERROR("Cannot load LTTng UST getcpu override library %s",
libname);
return;
}
dlerror();
- libinit = (void (*)(void)) dlsym(handle,
+ libinit = (void (*)(void)) dlsym(
getcpu_
handle,
"lttng_ust_getcpu_plugin_init");
if (!libinit) {
PERROR("Cannot find LTTng UST getcpu override library %s initialization function lttng_ust_getcpu_plugin_init()",
"lttng_ust_getcpu_plugin_init");
if (!libinit) {
PERROR("Cannot find LTTng UST getcpu override library %s initialization function lttng_ust_getcpu_plugin_init()",
This page took
0.03243 seconds
and
4
git commands to generate.