From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60831) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEVJQ-0001hh-Rv for qemu-devel@nongnu.org; Tue, 27 Aug 2013 22:16:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEVJH-0006oY-Qh for qemu-devel@nongnu.org; Tue, 27 Aug 2013 22:16:48 -0400 Received: from e28smtp08.in.ibm.com ([122.248.162.8]:46595) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEVJH-0006oP-98 for qemu-devel@nongnu.org; Tue, 27 Aug 2013 22:16:39 -0400 Received: from /spool/local by e28smtp08.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 28 Aug 2013 07:35:18 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp03.in.ibm.com (Postfix) with ESMTP id E49511258051 for ; Wed, 28 Aug 2013 07:46:25 +0530 (IST) Received: from d28av04.in.ibm.com (d28av04.in.ibm.com [9.184.220.66]) by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r7S2ICDE41877560 for ; Wed, 28 Aug 2013 07:48:12 +0530 Received: from d28av04.in.ibm.com (localhost [127.0.0.1]) by d28av04.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id r7S2GYId010534 for ; Wed, 28 Aug 2013 07:46:34 +0530 Message-ID: <521D5D64.8090708@linux.vnet.ibm.com> Date: Wed, 28 Aug 2013 10:16:04 +0800 From: Wenchao Xia MIME-Version: 1.0 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> <20130827091907.08efc436@redhat.com> In-Reply-To: <20130827091907.08efc436@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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: Luiz Capitulino Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com 于 2013-8-27 21:19, Luiz Capitulino 写道: > On Tue, 27 Aug 2013 20:39:37 +0800 > Wenchao Xia 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 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 > I used special cc warn flag before, it seems that by default more flags would be set, will double check with default configure. -- Best Regards Wenchao Xia