diff options
author | Steven Rostedt <srostedt@redhat.com> | 2011-09-01 22:44:38 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-09-01 22:44:38 -0400 |
commit | e19cbadffcb99236f3e98f9ec6a838804f143108 (patch) | |
tree | bd2c04ef03172774ef16c61ee1d59b288b067eff | |
parent | da4956cbcaf7945554f30e4d3a9be09b1431b19a (diff) | |
download | cyclictest-e19cbadffcb99236f3e98f9ec6a838804f143108.tar.gz |
allow tracemark() to take variable args
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | src/cyclictest/cyclictest.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c index db5c228..c5cc807 100644 --- a/src/cyclictest/cyclictest.c +++ b/src/cyclictest/cyclictest.c @@ -13,6 +13,7 @@ #include <stdio.h> #include <stdlib.h> #include <stdint.h> +#include <stdarg.h> #include <unistd.h> #include <fcntl.h> #include <getopt.h> @@ -336,13 +337,23 @@ static int trace_file_exists(char *name) return stat(path, &sbuf) ? 0 : 1; } -static void tracemark(char *comment) +#define TRACEBUFSIZ 1024 +static __thread char tracebuf[TRACEBUFSIZ]; + +static void tracemark(char *fmt, ...) { + va_list ap; + int len; + /* bail out if we're not tracing */ /* or if the kernel doesn't support trace_mark */ if (tracemark_fd < 0) return; - write(tracemark_fd, comment, strlen(comment)); + + va_start(ap, fmt); + len = vsnprintf(tracebuf, TRACEBUFSIZ, fmt, ap); + va_end(ap); + write(tracemark_fd, tracebuf, len); } void tracing(int on) |