X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=tests%2Fhello%2Fhello.c;h=584d3f7b9f1b107d2d8a4986164127c6c2c45863;hb=40b2b5a43e4c2067849770b3379ca5360facacd5;hp=0417f1e962215807ef1f590314b01167e7b14b85;hpb=da485f9c8477cb58da0a5a6ae60195b29a3fbd85;p=lttng-ust.git diff --git a/tests/hello/hello.c b/tests/hello/hello.c index 0417f1e9..584d3f7b 100644 --- a/tests/hello/hello.c +++ b/tests/hello/hello.c @@ -1,3 +1,22 @@ +/* + * Copyright (C) 2009 Pierre-Marc Fournier + * Copyright (C) 2011 Mathieu Desnoyers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; version 2.1 of + * the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #include #include #include @@ -6,19 +25,17 @@ #include #include #include +#include +#include +#include -#include "marker.h" -#include "usterr.h" -#include "tracer.h" -#include "marker-control.h" -#include "relay.h" -#include "tp.h" - +#define TRACEPOINT_DEFINE +#include "ust_tests_hello.h" void inthandler(int sig) { - printf("in handler\n"); - exit(0); + printf("in SIGUSR1 handler\n"); + tracepoint(ust_tests_hello, tptest_sighandler); } int init_int_handler(void) @@ -26,9 +43,10 @@ int init_int_handler(void) int result; struct sigaction act; + memset(&act, 0, sizeof(act)); result = sigemptyset(&act.sa_mask); - if(result == -1) { - PERROR("sigemptyset"); + if (result == -1) { + perror("sigemptyset"); return -1; } @@ -38,41 +56,40 @@ int init_int_handler(void) /* Only defer ourselves. Also, try to restart interrupted * syscalls to disturb the traced program as little as possible. */ - result = sigaction(SIGINT, &act, NULL); - if(result == -1) { - PERROR("sigaction"); + result = sigaction(SIGUSR1, &act, NULL); + if (result == -1) { + perror("sigaction"); return -1; } return 0; } -int main() +int main(int argc, char **argv) { - int i; + int i, netint; + long values[] = { 1, 2, 3 }; + char text[10] = "test"; + double dbl = 2.0; + float flt = 2222.0; + int delay = 0; init_int_handler(); - printf("Hello, World!\n"); - - sleep(1); - for(i=0; i<50; i++) { - trace_mark(ust, bar, "str %s", "FOOBAZ"); - trace_mark(ust, bar2, "number1 %d number2 %d", 53, 9800); - trace_hello_tptest(i); - usleep(100000); - } + if (argc == 2) + delay = atoi(argv[1]); - scanf("%*s"); + fprintf(stderr, "Hello, World!\n"); - ltt_trace_stop("auto"); - ltt_trace_destroy("auto"); - - DBG("TRACE STOPPED"); - scanf("%*s"); + sleep(delay); + fprintf(stderr, "Tracing... "); + for (i = 0; i < 1000000; i++) { + netint = htonl(i); + tracepoint(ust_tests_hello, tptest, i, netint, values, + text, strlen(text), dbl, flt); + //usleep(100000); + } + fprintf(stderr, " done.\n"); return 0; } - -MARKER_LIB; -TRACEPOINT_LIB;