Add 'debug-threads' suboption to --name
Add flag storage to qemu-thread-* to store the namethreads flag Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
5d12f961c6
commit
8f480de0c9
@ -59,5 +59,6 @@ void *qemu_thread_join(QemuThread *thread);
|
||||
void qemu_thread_get_self(QemuThread *thread);
|
||||
bool qemu_thread_is_self(QemuThread *thread);
|
||||
void qemu_thread_exit(void *retval);
|
||||
void qemu_thread_naming(bool enable);
|
||||
|
||||
#endif
|
||||
|
@ -328,9 +328,11 @@ possible drivers and properties, use @code{-device help} and
|
||||
ETEXI
|
||||
|
||||
DEF("name", HAS_ARG, QEMU_OPTION_name,
|
||||
"-name string1[,process=string2]\n"
|
||||
"-name string1[,process=string2][,debug-threads=on|off]\n"
|
||||
" set the name of the guest\n"
|
||||
" string1 sets the window title and string2 the process name (on Linux)\n",
|
||||
" string1 sets the window title and string2 the process name (on Linux)\n"
|
||||
" When debug-threads is enabled, individual threads are given a separate name (on Linux)\n"
|
||||
" NOTE: The thread names are for debugging and not a stable API.\n",
|
||||
QEMU_ARCH_ALL)
|
||||
STEXI
|
||||
@item -name @var{name}
|
||||
@ -339,6 +341,7 @@ Sets the @var{name} of the guest.
|
||||
This name will be displayed in the SDL window caption.
|
||||
The @var{name} will also be used for the VNC server.
|
||||
Also optionally set the top visible process name in Linux.
|
||||
Naming of individual threads can also be enabled on Linux to aid debugging.
|
||||
ETEXI
|
||||
|
||||
DEF("uuid", HAS_ARG, QEMU_OPTION_uuid,
|
||||
|
@ -27,6 +27,13 @@
|
||||
#include "qemu/thread.h"
|
||||
#include "qemu/atomic.h"
|
||||
|
||||
static bool name_threads;
|
||||
|
||||
void qemu_thread_naming(bool enable)
|
||||
{
|
||||
name_threads = enable;
|
||||
}
|
||||
|
||||
static void error_exit(int err, const char *msg)
|
||||
{
|
||||
fprintf(stderr, "qemu: %s: %s\n", msg, strerror(err));
|
||||
|
@ -16,6 +16,14 @@
|
||||
#include <assert.h>
|
||||
#include <limits.h>
|
||||
|
||||
static bool name_threads;
|
||||
|
||||
void qemu_thread_naming(bool enable)
|
||||
{
|
||||
/* But note we don't actually name them on Windows yet */
|
||||
name_threads = enable;
|
||||
}
|
||||
|
||||
static void error_exit(int err, const char *msg)
|
||||
{
|
||||
char *pstr;
|
||||
|
9
vl.c
9
vl.c
@ -495,6 +495,12 @@ static QemuOptsList qemu_name_opts = {
|
||||
.name = "process",
|
||||
.type = QEMU_OPT_STRING,
|
||||
.help = "Sets the name of the QEMU process, as shown in top etc",
|
||||
}, {
|
||||
.name = "debug-threads",
|
||||
.type = QEMU_OPT_BOOL,
|
||||
.help = "When enabled, name the individual threads; defaults off.\n"
|
||||
"NOTE: The thread names are for debugging and not a\n"
|
||||
"stable API.",
|
||||
},
|
||||
{ /* End of list */ }
|
||||
},
|
||||
@ -954,6 +960,9 @@ static void parse_name(QemuOpts *opts)
|
||||
{
|
||||
const char *proc_name;
|
||||
|
||||
if (qemu_opt_get(opts, "debug-threads")) {
|
||||
qemu_thread_naming(qemu_opt_get_bool(opts, "debug-threads", false));
|
||||
}
|
||||
qemu_name = qemu_opt_get(opts, "guest");
|
||||
|
||||
proc_name = qemu_opt_get(opts, "process");
|
||||
|
Loading…
Reference in New Issue
Block a user