X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=tests%2Futils%2Ftestapp%2Fgen-ust-events%2Fgen-ust-events.c;h=c5dd31a355e1294229529a4ff20c3a3026bf8347;hb=901cb87ccbcde99a10770f79df42c27f2f2d6eb7;hp=f1eb18f52f927cb7ffd6181d11f2d19666768e42;hpb=b734f5f715395468cf9c68166820558126264d52;p=lttng-tools.git diff --git a/tests/utils/testapp/gen-ust-events/gen-ust-events.c b/tests/utils/testapp/gen-ust-events/gen-ust-events.c index f1eb18f52..c5dd31a35 100644 --- a/tests/utils/testapp/gen-ust-events/gen-ust-events.c +++ b/tests/utils/testapp/gen-ust-events/gen-ust-events.c @@ -31,6 +31,8 @@ #include #include #include +#include "utils.h" +#include "signal-helper.h" #define TRACEPOINT_DEFINE #include "tp.h" @@ -84,11 +86,16 @@ int main(int argc, char **argv) char text[10] = "test"; double dbl = 2.0; float flt = 2222.0; - int nr_iter = 100; + int nr_iter = 100, ret = 0; useconds_t nr_usec = 0; char *after_first_event_file_path = NULL; char *before_last_event_file_path = NULL; + if (set_signal_handler()) { + ret = -1; + goto end; + } + if (argc >= 2) { /* * If nr_iter is negative, do an infinite tracing loop. @@ -127,9 +134,16 @@ int main(int argc, char **argv) */ create_file(after_first_event_file_path); if (nr_usec) { - usleep(nr_usec); + if (usleep_safe(nr_usec)) { + ret = -1; + goto end; + } + } + if (should_quit) { + break; } } - return 0; +end: + exit(!ret ? EXIT_SUCCESS : EXIT_FAILURE); }