2 * Copyright (C) 2009 Pierre-Marc Fournier
3 * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; version 2.1 of
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 #include <sys/types.h>
32 void inthandler(int sig
)
34 printf("in SIGUSR1 handler\n");
35 tracepoint(ust_tests_hello_tptest_sighandler
);
38 int init_int_handler(void)
43 result
= sigemptyset(&act
.sa_mask
);
45 PERROR("sigemptyset");
49 act
.sa_handler
= inthandler
;
50 act
.sa_flags
= SA_RESTART
;
52 /* Only defer ourselves. Also, try to restart interrupted
53 * syscalls to disturb the traced program as little as possible.
55 result
= sigaction(SIGUSR1
, &act
, NULL
);
64 int main(int argc
, char **argv
)
70 printf("Hello, World!\n");
74 for (i
= 0; i
< 50; i
++) {
75 tracepoint(ust_tests_hello_tptest
, i
);