util/log: re-allow switching away from stderr log file

Commit 59bde21374 ("util/log: do not close and reopen log files when
flags are turned off") prevented switching away from stderr on a
subsequent invocation of qemu_set_log_internal(). This prevented
switching away from stderr with the 'logfile' monitor command as well
as an invocation like
> ./qemu-system-x86_64 -trace 'qemu_mutex_lock,file=log'
from opening the specified log file.

Fixes: 59bde21374 ("util/log: do not close and reopen log files when flags are turned off")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231004124446.491481-1-f.ebner@proxmox.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Fiona Ebner 2023-10-04 14:44:46 +02:00 committed by Paolo Bonzini
parent 044431cfe7
commit f05142d511

View File

@ -298,6 +298,8 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name,
r->fd = logfile; r->fd = logfile;
qatomic_rcu_set(&global_file, NULL); qatomic_rcu_set(&global_file, NULL);
call_rcu(r, rcu_close_file, rcu); call_rcu(r, rcu_close_file, rcu);
}
if (changed_name) {
logfile = NULL; logfile = NULL;
} }
} }