diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2022-04-17 11:29:44 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2022-04-20 10:51:11 -0700 |
commit | c5955f4ff4689b7a04cf0a1109fa97ce885876b4 (patch) | |
tree | 27a7af47ce5ee5469d49c2736f728a6ef646e7cd /util/log.c | |
parent | e2c7c6a454c2c4221461aa04e4061dbb91b4986c (diff) |
util/log: Pass Error pointer to qemu_set_log
Do not force exit within qemu_set_log; return bool and pass
an Error value back up the stack as per usual.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220417183019.755276-5-richard.henderson@linaro.org>
Diffstat (limited to 'util/log.c')
-rw-r--r-- | util/log.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/util/log.c b/util/log.c index a838686a18..bab4d29ecb 100644 --- a/util/log.c +++ b/util/log.c @@ -73,7 +73,7 @@ static void qemu_logfile_free(QemuLogFile *logfile) } /* enable or disable low levels log */ -void qemu_set_log(int log_flags) +bool qemu_set_log(int log_flags, Error **errp) { bool need_to_open_file = false; QemuLogFile *logfile; @@ -103,9 +103,9 @@ void qemu_set_log(int log_flags) if (logfilename) { logfile->fd = fopen(logfilename, log_append ? "a" : "w"); if (!logfile->fd) { - g_free(logfile); - perror(logfilename); - _exit(1); + error_setg_errno(errp, errno, "Error opening logfile %s", + logfilename); + return false; } /* In case we are a daemon redirect stderr to logfile */ if (is_daemonized()) { @@ -129,6 +129,7 @@ void qemu_set_log(int log_flags) log_append = 1; qatomic_rcu_set(&qemu_logfile, logfile); } + return true; } /* @@ -159,8 +160,7 @@ bool qemu_set_log_filename(const char *filename, Error **errp) } qemu_log_close(); - qemu_set_log(qemu_loglevel); - return true; + return qemu_set_log(qemu_loglevel, errp); } /* Returns true if addr is in our debug filter or no filter defined |