diff options
author | Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> | 2011-03-13 20:14:30 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-03-15 18:03:26 +0000 |
commit | 31d3c9b8c15d7b42f508d5fc2adc4abb7c732b70 (patch) | |
tree | 06e4b51f2b49992dac1196d1eb3e6cb62df0f026 | |
parent | cc015e9a5dde2f03f123357fa060acbdfcd570a4 (diff) |
simpletrace: Move st_init() error reporting
User emulator builds do not have error_report() so it should not be used
by simpletrace.c. In fact, error reporting inside simpletrace.c is
inappropriate and should be done by the caller instead.
This patch moves st_init() error reporting out to its caller,
vl.c:main().
Reported-by: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r-- | simpletrace.c | 7 | ||||
-rw-r--r-- | simpletrace.h | 6 | ||||
-rw-r--r-- | vl.c | 4 |
3 files changed, 9 insertions, 8 deletions
diff --git a/simpletrace.c b/simpletrace.c index 9926ab39bb..f1dbb5e502 100644 --- a/simpletrace.c +++ b/simpletrace.c @@ -14,7 +14,6 @@ #include <time.h> #include <signal.h> #include <pthread.h> -#include "qerror.h" #include "qemu-timer.h" #include "trace.h" @@ -331,7 +330,7 @@ void st_flush_trace_buffer(void) flush_trace_file(true); } -void st_init(const char *file) +bool st_init(const char *file) { pthread_t thread; pthread_attr_t attr; @@ -347,10 +346,10 @@ void st_init(const char *file) pthread_sigmask(SIG_SETMASK, &oldset, NULL); if (ret != 0) { - error_report("warning: unable to create trace file thread\n"); - return; + return false; } atexit(st_flush_trace_buffer); st_set_trace_file(file); + return true; } diff --git a/simpletrace.h b/simpletrace.h index 3a5bd9fb9d..8d893bd849 100644 --- a/simpletrace.h +++ b/simpletrace.h @@ -37,11 +37,11 @@ void st_print_trace_file_status(FILE *stream, fprintf_function stream_printf); void st_set_trace_file_enabled(bool enable); bool st_set_trace_file(const char *file); void st_flush_trace_buffer(void); -void st_init(const char *file); +bool st_init(const char *file); #else -static inline void st_init(const char *file) +static inline bool st_init(const char *file) { - /* Do nothing */ + return true; } #endif /* !CONFIG_SIMPLE_TRACE */ @@ -2766,7 +2766,9 @@ int main(int argc, char **argv, char **envp) } loc_set_none(); - st_init(trace_file); + if (!st_init(trace_file)) { + fprintf(stderr, "warning: unable to initialize simple trace backend\n"); + } /* If no data_dir is specified then try to find it relative to the executable path. */ |