Skip to content

Commit

Permalink
util/log: Use qemu_log_trylock/unlock in qemu_log
Browse files Browse the repository at this point in the history
Avoid using QemuLogFile and RCU directly.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220417183019.755276-17-richard.henderson@linaro.org>
  • Loading branch information
rth7680 committed Apr 20, 2022
1 parent 9aee8f2 commit 095e985
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions util/log.c
Expand Up @@ -62,23 +62,22 @@ void qemu_log_unlock(FILE *fd)
/* Return the number of characters emitted. */
int qemu_log(const char *fmt, ...)
{
FILE *f = qemu_log_trylock();
int ret = 0;
QemuLogFile *logfile;

rcu_read_lock();
logfile = qatomic_rcu_read(&qemu_logfile);
if (logfile) {
if (f) {
va_list ap;

va_start(ap, fmt);
ret = vfprintf(logfile->fd, fmt, ap);
ret = vfprintf(f, fmt, ap);
va_end(ap);
qemu_log_unlock(f);

/* Don't pass back error results. */
if (ret < 0) {
ret = 0;
}
}
rcu_read_unlock();
return ret;
}

Expand Down

0 comments on commit 095e985

Please sign in to comment.