*/
#define _LGPL_SOURCE
-#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
.name = (char *) "lttng-ring-buffer-event_notifier-client",
.load_policy = KERNEL_MODULE_PROPERTY_LOAD_POLICY_OPTIONAL,
},
+ {
+ .name = (char *) "lttng-counter-client-percpu-64-modular",
+ .load_policy = KERNEL_MODULE_PROPERTY_LOAD_POLICY_OPTIONAL,
+ },
+ {
+ .name = (char *) "lttng-counter-client-percpu-32-modular",
+ .load_policy = KERNEL_MODULE_PROPERTY_LOAD_POLICY_OPTIONAL,
+ },
};
/* LTTng kerneltracer probe modules list */
modprobe[sizeof(modprobe) - 1] = '\0';
ret = system(modprobe);
if (ret == -1) {
- ERR("Unable to launch modprobe -r for module %s",
- modules[i].name);
- } else if (modules[i].load_policy == KERNEL_MODULE_PROPERTY_LOAD_POLICY_REQUIRED && WEXITSTATUS(ret) != 0) {
- ERR("Unable to remove module %s",
- modules[i].name);
+ if (modules[i].load_policy == KERNEL_MODULE_PROPERTY_LOAD_POLICY_REQUIRED) {
+ ERR("Unable to launch modprobe -r for required module %s",
+ modules[i].name);
+ } else {
+ DBG("Unable to launch modprobe -r for optional module %s",
+ modules[i].name);
+ }
+ } else if (WEXITSTATUS(ret) != 0) {
+ if (modules[i].load_policy == KERNEL_MODULE_PROPERTY_LOAD_POLICY_REQUIRED) {
+ ERR("Unable to remove required module %s",
+ modules[i].name);
+ } else {
+ DBG("Unable to remove optional module %s",
+ modules[i].name);
+ }
} else {
- DBG("Modprobe removal successful %s",
- modules[i].name);
+ DBG("Modprobe removal successful %s", modules[i].name);
}
}
}
{
char *next;
int ret;
- char *tmp_list, *cur_list;
+ char *tmp_list, *cur_list, *saveptr;
- assert(list);
+ LTTNG_ASSERT(list);
cur_list = tmp_list = strdup(list);
if (!tmp_list) {
size_t name_len;
struct kern_modules_param *cur_mod;
- next = strtok(cur_list, ",");
+ next = strtok_r(cur_list, ",", &saveptr);
if (!next) {
break;
}
* Base probes: either from command line option, environment
* variable or default list.
*/
- list = config.kmod_probes_list.value;
+ list = the_config.kmod_probes_list.value;
if (list) {
/* User-specified probes. */
ret = append_list_to_probes(list);
/*
* Extra modules? Append them to current probes list.
*/
- list = config.kmod_extra_probes_list.value;
+ list = the_config.kmod_extra_probes_list.value;
if (list) {
ret = append_list_to_probes(list);
if (ret) {