cpu_dump_state(cpu, logfile, CPU_DUMP_FPU | CPU_DUMP_CCOP);
qemu_log_unlock(logfile);
}
- qemu_log_close();
}
va_end(ap2);
va_end(ap);
* Initiate a close file and make sure our handle remains
* valid since we still have the logfile lock.
*/
- qemu_log_close();
+ qemu_set_log_filename_flags(NULL, 0, &error_abort);
fprintf(logfile, "%s 2nd write to file\n", __func__);
fflush(logfile);
qemu_log_unlock(logfile);
tmp_path, test_logfile_lock);
rc = g_test_run();
- qemu_log_close();
+ qemu_set_log_filename_flags(NULL, 0, &error_abort);
drain_call_rcu();
rmdir_full(tmp_path);
if (is_daemonized()) {
dup2(fileno(fd), STDERR_FILENO);
fclose(fd);
- /* This will skip closing logfile in qemu_log_close() */
+ /* This will skip closing logfile in qemu_logfile_free. */
fd = stderr;
}
} else {
g_strfreev(ranges);
}
-/* Close the log file */
-void qemu_log_close(void)
-{
- QemuLogFile *logfile;
-
- qemu_mutex_lock(&qemu_logfile_mutex);
- logfile = qemu_logfile;
-
- if (logfile) {
- qatomic_rcu_set(&qemu_logfile, NULL);
- call_rcu(logfile, qemu_logfile_free, rcu);
- }
- qemu_mutex_unlock(&qemu_logfile_mutex);
-}
-
const QEMULogItem qemu_log_items[] = {
{ CPU_LOG_TB_OUT_ASM, "out_asm",
"show generated host assembly code for each compiled TB" },