diff options
Diffstat (limited to 'util')
-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 |