initial usertrace syscall and signal
[lttv.git] / usertrace / lttng_usertrace.c
CommitLineData
b8b00688 1
2/* LTTng user-space tracing code
3 *
4 * Copyright 2006 Mathieu Desnoyers
5 *
6 */
7
8
9#include <sys/types.h>
10#include <sys/wait.h>
11#include <unistd.h>
12#include <stdio.h>
13#include <signal.h>
14#include <syscall.h>
15
16#include "lttng_usertrace.h"
17
18/* signal handler */
19void __lttng_sig_trace_handler(int signo)
20{
21 printf("LTTng Sig handler : pid : %lu\n", getpid());
22}
23
24
25
26void __attribute__((constructor)) __lttng_user_init(void)
27{
28 static struct sigaction act;
29 int err;
30
31 printf("LTTng user init\n");
32
33 /* Activate the signal */
34 act.sa_handler = __lttng_sig_trace_handler;
35 err = sigemptyset(&(act.sa_mask));
36 if(err) perror("Error with sigemptyset");
37 err = sigaddset(&(act.sa_mask), SIGRTMIN+3);
38 if(err) perror("Error with sigaddset");
39 err = sigaction(SIGRTMIN+3, &act, NULL);
40 if(err) perror("Error with sigaction");
41
42 /* Make the first ltt_update system call */
43 err = ltt_update(1, NULL, NULL);
44 if(err) {
45 printf("Error in ltt_update system call\n");
46 exit(1);
47 }
48}
This page took 0.024079 seconds and 4 git commands to generate.