All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com
Subject: Re: [Qemu-devel] [PATCH V9 00/15] monitor: support sub command group in auto completion and help
Date: Tue, 27 Aug 2013 09:19:07 -0400	[thread overview]
Message-ID: <20130827091907.08efc436@redhat.com> (raw)
In-Reply-To: <521C9E09.9060204@linux.vnet.ibm.com>

On Tue, 27 Aug 2013 20:39:37 +0800
Wenchao Xia <xiawenc@linux.vnet.ibm.com> wrote:

> 于 2013-8-27 9:43, Wenchao Xia 写道:
> > 于 2013-8-26 23:55, Luiz Capitulino 写道:
> >> On Fri, 23 Aug 2013 16:17:52 +0800
> >> Wenchao Xia <xiawenc@linux.vnet.ibm.com> wrote:
> >>
> >>> This series make auto completion and help functions works normal for sub
> >>> command, by using reentrant functions. In order to do that, global
> >>> variables
> >>> are not directly used in those functions any more. With this series,
> >>> cmd_table
> >>> is a member of structure Monitor so it is possible to create a
> >>> monitor with
> >>> different command table now, auto completion will work in that
> >>> monitor. In
> >>> short, "info" is not treated as a special case now, this series
> >>> ensure help
> >>> and auto complete function works normal for any sub command added in
> >>> the future.
> >>>
> >>> Patch 5 replaced cur_mon with rs->mon, it is safe because:
> >>> monitor_init() calls readline_init() which initialize mon->rs, result is
> >>> mon->rs->mon == mon. Then qemu_chr_add_handlers() is called, which make
> >>> monitor_read() function take *mon as its opaque. Later, when user input,
> >>> monitor_read() is called, where cur_mon is set to *mon by "cur_mon =
> >>> opaque".
> >>> If qemu's monitors run in one thread, then later in
> >>> readline_handle_byte()
> >>> and readline_comletion(), cur_mon is actually equal to rs->mon, in
> >>> another
> >>> word, it points to the monitor instance, so it is safe to replace
> >>> *cur_mon
> >>> in those functions.
> >>>
> >>> Thanks for Luiz and Eric for reviewing.
> >>
> >> This one doesn't even build :(
> >>
> >> /home/lcapitulino/work/src/upstream/qmp-unstable/monitor.c: In
> >> function ‘help_cmd’:
> >> /home/lcapitulino/work/src/upstream/qmp-unstable/monitor.c:952:1:
> >> error: label ‘cleanup’ defined but not used [-Werror=unused-label]
> >> cc1: all warnings being treated as errors
> >> make[1]: *** [monitor.o] Error 1
> >> make[1]: *** Waiting for unfinished jobs....
> >> make: *** [subdir-x86_64-softmmu] Error 2
> >>
> >    Sorry for it, I missed that CC flag in my configure, will fix.
> > It would be great if you can share your configure settings.
> >
>    Respined v10 and tested with -Werror=unused-label, hope no other
> issue is missed in my test.

My configure line doesn't have anything special:

 ../configure --target-list=x86_64-softmmu

  reply	other threads:[~2013-08-27 13:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-23  8:17 [Qemu-devel] [PATCH V9 00/15] monitor: support sub command group in auto completion and help Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 01/15] monitor: avoid use of global *cur_mon in cmd_completion() Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 02/15] monitor: avoid use of global *cur_mon in file_completion() Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 03/15] monitor: avoid use of global *cur_mon in block_completion_it() Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 04/15] monitor: avoid use of global *cur_mon in monitor_find_completion() Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 05/15] monitor: avoid use of global *cur_mon in readline_completion() Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 06/15] monitor: call sortcmdlist() only one time Wenchao Xia
2013-08-23  8:17 ` [Qemu-devel] [PATCH V9 07/15] monitor: split off monitor_data_init() Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 08/15] monitor: avoid direct use of global variable *mon_cmds Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 09/15] monitor: code move for parse_cmdline() Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 10/15] monitor: refine parse_cmdline() Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 11/15] monitor: support sub command in help Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 12/15] monitor: refine monitor_find_completion() Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 13/15] monitor: support sub command in auto completion Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 14/15] monitor: allow "help" show message for single command in sub group Wenchao Xia
2013-08-23  8:18 ` [Qemu-devel] [PATCH V9 15/15] monitor: improve auto complete of "help" " Wenchao Xia
2013-08-26 15:55 ` [Qemu-devel] [PATCH V9 00/15] monitor: support sub command group in auto completion and help Luiz Capitulino
2013-08-27  1:43   ` Wenchao Xia
2013-08-27 12:39     ` Wenchao Xia
2013-08-27 13:19       ` Luiz Capitulino [this message]
2013-08-28  2:16         ` Wenchao Xia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130827091907.08efc436@redhat.com \
    --to=lcapitulino@redhat.com \
    --cc=armbru@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=xiawenc@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.