X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Ffork%2Ffork.c;h=17162574195a9f89853ea35f7138cc61b5df0536;hb=1fcf7ad708a39a7ab3b76b3cacbee2b39b19d0db;hp=3b84644325948310ed29a6f22f8ca7751185c5d1;hpb=37ee34e4d9b9363c758aa43255d71661900e89b0;p=lttng-ust.git diff --git a/tests/fork/fork.c b/tests/fork/fork.c index 3b846443..17162574 100644 --- a/tests/fork/fork.c +++ b/tests/fork/fork.c @@ -1,9 +1,11 @@ -/* Copyright (C) 2009 Pierre-Marc Fournier +/* + * 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; either - * version 2.1 of the License, or (at your option) any later version. + * 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 @@ -20,47 +22,40 @@ #include #include -#include +#define TRACEPOINT_CREATE_PROBES +#include "ust_tests_fork.h" int main(int argc, char **argv, char *env[]) { int result; - if(argc < 2 ) { + if (argc < 2) { fprintf(stderr, "usage: fork PROG_TO_EXEC\n"); exit(1); } printf("Fork test program, parent pid is %d\n", getpid()); - trace_mark(before_fork, MARK_NOARGS); - - /* Sleep here to make sure the consumer is initialized before we fork */ - sleep(1); + tracepoint(ust_tests_fork_before_fork); result = fork(); - if(result == -1) { + if (result == -1) { perror("fork"); return 1; } - if(result == 0) { - char *args[] = {"fork2", NULL}; + if (result == 0) { + char *args[] = { "fork2", NULL }; printf("Child pid is %d\n", getpid()); - trace_mark(after_fork_child, MARK_NOARGS); - - trace_mark(before_exec, "pid %d", getpid()); + tracepoint(ust_tests_fork_after_fork_child, getpid()); result = execve(argv[1], args, env); - if(result == -1) { + if (result == -1) { perror("execve"); return 1; } - - trace_mark(after_exec, "pid %d", getpid()); - } - else { - trace_mark(after_fork_parent, MARK_NOARGS); + } else { + tracepoint(ust_tests_fork_after_fork_parent); } return 0;