X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Fregression%2Fust%2Ffork%2Ffork.c;h=7030a293d532db5d81cca4fa96c1948a938b7f55;hb=b53d4e59bf0a980aa774dcccc27123986e77b8ff;hp=744e9203e9dfb65e891d6f518cc7cfe679df01d4;hpb=37bd6c8e4c4a3d7054d97627e4fb4bef1d4612a6;p=lttng-tools.git diff --git a/tests/regression/ust/fork/fork.c b/tests/regression/ust/fork/fork.c index 744e9203e..7030a293d 100644 --- a/tests/regression/ust/fork/fork.c +++ b/tests/regression/ust/fork/fork.c @@ -1,25 +1,15 @@ /* - * Copyright (C) 2009 Pierre-Marc Fournier - * Copyright (C) 2011 Mathieu Desnoyers + * 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. + * SPDX-License-Identifier: LGPL-2.1-only * - * 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 +#include #include #define TRACEPOINT_DEFINE @@ -44,19 +34,26 @@ int main(int argc, char **argv, char *env[]) return 1; } if (result == 0) { - char *args[] = { "fork2", NULL }; + char *args[] = { (char *) "fork2", NULL }; tracepoint(ust_tests_fork, after_fork_child, getpid()); result = execve(argv[1], args, env); if (result == -1) { perror("execve"); - return 1; + result = 1; + goto end; } } else { printf("child_pid %d\n", result); tracepoint(ust_tests_fork, after_fork_parent, getpid()); + if (waitpid(result, NULL, 0) < 0) { + perror("waitpid"); + result = 1; + goto end; + } } - - return 0; + result = 0; +end: + return result; }