* - Takes instrumentation source specific arguments.
*/
+#define _LGPL_SOURCE
#include <lttng/ust-abi.h>
#include <lttng/ust-error.h>
#include <urcu/compiler.h>
#include <lttng/ust-events.h>
#include <lttng/ust-version.h>
#include <lttng/tracepoint.h>
+#include <ust-fd.h>
#include "tracepoint-internal.h"
#include <usterr-signal-safe.h>
#include <helper.h>
#include "lttng-tracer.h"
+#include "string-utils.h"
#include "../libringbuffer/shm.h"
#include "../libringbuffer/frontend_types.h"
}
if ((--obj->u.s.f_count) == 1) {
const struct lttng_ust_objd_ops *ops = objd_ops(id);
-
+
if (ops->release)
ops->release(id);
objd_free(id);
{
int close_ret;
+ lttng_ust_lock_fd_tracker();
close_ret = close(wakeup_fd);
+ lttng_ust_unlock_fd_tracker();
if (close_ret) {
PERROR("close");
}
{
struct lttng_ust_event *event_param =
(struct lttng_ust_event *) arg;
- if (event_param->name[strlen(event_param->name) - 1] == '*') {
- /* If ends with wildcard, create wildcard. */
+
+ if (strutils_is_star_glob_pattern(event_param->name)) {
+ /*
+ * If the event name is a star globbing pattern,
+ * we create the special star globbing enabler.
+ */
return lttng_abi_create_enabler(objd, event_param,
- owner, LTTNG_ENABLER_WILDCARD);
+ owner, LTTNG_ENABLER_STAR_GLOB);
} else {
return lttng_abi_create_enabler(objd, event_param,
owner, LTTNG_ENABLER_EVENT);