#include <urcu/uatomic.h>
#include <urcu/futex.h>
-#include <lttng/ust-comm.h>
#include <lttng/ust-events.h>
-#include <lttng/usterr-signal-safe.h>
#include <lttng/ust-abi.h>
-#include <lttng/tracepoint.h>
-#include <lttng/tracepoint-internal.h>
#include <lttng/ust.h>
+#include <ust-comm.h>
+#include <usterr-signal-safe.h>
+#include "tracepoint-internal.h"
#include "ltt-tracer-core.h"
/*
shm_fd = lum->u.channel.shm_fd;
wait_fd = lum->u.channel.wait_fd;
break;
- case LTTNG_UST_VERSION:
+ case LTTNG_UST_TRACER_VERSION:
lur.u.version = lum->u.version;
break;
+ case LTTNG_UST_TRACEPOINT_LIST_GET:
+ memcpy(lur.u.tracepoint_list_entry,
+ lum->u.tracepoint_list_entry,
+ LTTNG_UST_SYM_NAME_LEN);
+ break;
}
ret = send_reply(sock, &lur);
if (ret < 0) {
/* Register */
ret = ustcomm_connect_unix_sock(sock_info->sock_path);
if (ret < 0) {
- ERR("Error connecting to %s apps socket", sock_info->name);
+ DBG("Info: sessiond not accepting connections to %s apps socket", sock_info->name);
prev_connect_failed = 1;
/*
* If we cannot find the sessiond daemon, don't delay
* in the middle of an tracepoint or ust tracing state modification.
* Holding this mutex protects these structures across fork and clone.
*/
-void ust_before_fork(ust_fork_info_t *fork_info)
+void ust_before_fork(sigset_t *save_sigset)
{
/*
* Disable signals. This is to avoid that the child intervenes
/* Disable signals */
sigfillset(&all_sigs);
- ret = sigprocmask(SIG_BLOCK, &all_sigs, &fork_info->orig_sigs);
+ ret = sigprocmask(SIG_BLOCK, &all_sigs, save_sigset);
if (ret == -1) {
PERROR("sigprocmask");
}
rcu_bp_before_fork();
}
-static void ust_after_fork_common(ust_fork_info_t *fork_info)
+static void ust_after_fork_common(sigset_t *restore_sigset)
{
int ret;
DBG("process %d", getpid());
ust_unlock();
/* Restore signals */
- ret = sigprocmask(SIG_SETMASK, &fork_info->orig_sigs, NULL);
+ ret = sigprocmask(SIG_SETMASK, restore_sigset, NULL);
if (ret == -1) {
PERROR("sigprocmask");
}
}
-void ust_after_fork_parent(ust_fork_info_t *fork_info)
+void ust_after_fork_parent(sigset_t *restore_sigset)
{
DBG("process %d", getpid());
rcu_bp_after_fork_parent();
/* Release mutexes and reenable signals */
- ust_after_fork_common(fork_info);
+ ust_after_fork_common(restore_sigset);
}
/*
* This is meant for forks() that have tracing in the child between the
* fork and following exec call (if there is any).
*/
-void ust_after_fork_child(ust_fork_info_t *fork_info)
+void ust_after_fork_child(sigset_t *restore_sigset)
{
DBG("process %d", getpid());
/* Release urcu mutexes */
lttng_ust_cleanup(0);
lttng_context_vtid_reset();
/* Release mutexes and reenable signals */
- ust_after_fork_common(fork_info);
+ ust_after_fork_common(restore_sigset);
lttng_ust_init();
}