From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEJB3-0005U7-CY for qemu-devel@nongnu.org; Tue, 27 Aug 2013 09:19:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEJAt-0004QN-Es for qemu-devel@nongnu.org; Tue, 27 Aug 2013 09:19:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:1558) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEJAt-0004QE-6o for qemu-devel@nongnu.org; Tue, 27 Aug 2013 09:19:11 -0400 Date: Tue, 27 Aug 2013 09:19:07 -0400 From: Luiz Capitulino Message-ID: <20130827091907.08efc436@redhat.com> In-Reply-To: <521C9E09.9060204@linux.vnet.ibm.com> References: <1377245887-22745-1-git-send-email-xiawenc@linux.vnet.ibm.com> <20130826115520.60617e53@redhat.com> <521C0427.5010409@linux.vnet.ibm.com> <521C9E09.9060204@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH V9 00/15] monitor: support sub command group in auto completion and help List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wenchao Xia Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com On Tue, 27 Aug 2013 20:39:37 +0800 Wenchao Xia wrote: > =E4=BA=8E 2013-8-27 9:43, Wenchao Xia =E5=86=99=E9=81=93: > > =E4=BA=8E 2013-8-26 23:55, Luiz Capitulino =E5=86=99=E9=81=93: > >> On Fri, 23 Aug 2013 16:17:52 +0800 > >> Wenchao Xia 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 =3D=3D mon. Then qemu_chr_add_handlers() is called, whic= h make > >>> monitor_read() function take *mon as its opaque. Later, when user inp= ut, > >>> monitor_read() is called, where cur_mon is set to *mon by "cur_mon =3D > >>> 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 =E2=80=98help_cmd=E2=80=99: > >> /home/lcapitulino/work/src/upstream/qmp-unstable/monitor.c:952:1: > >> error: label =E2=80=98cleanup=E2=80=99 defined but not used [-Werror= =3Dunused-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=3Dunused-label, hope no other > issue is missed in my test. My configure line doesn't have anything special: ../configure --target-list=3Dx86_64-softmmu