[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V6 05/13] monitor: avoid use of global *cur_mon
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH V6 05/13] monitor: avoid use of global *cur_mon in readline_completion() |
Date: |
Thu, 18 Jul 2013 11:02:20 -0400 |
On Thu, 18 Jul 2013 09:55:51 +0800
Wenchao Xia <address@hidden> wrote:
> δΊ 2013-7-18 3:34, Luiz Capitulino ει:
> > On Thu, 11 Jul 2013 11:13:41 +0800
> > Wenchao Xia <address@hidden> wrote:
> >
> >> Now all completion functions do not use *cur_mon any more, instead
> >> they use rs->mon. In short, structure ReadLineState decide where
> >> the complete action would be taken now.
> >>
> >> Tested with the case that qemu have two telnet monitors, auto
> >> completion function works normal.
> >>
> >> Take a better look at monitor_init(), it calls readline_init() which
> >> initialize mon->rs, result is mon->rs->mon == mon. Then it calls
> >> qemu_chr_add_handlers(), 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 actuall monitor
> >> instance, so it is safe to replace *cur_mon in those functions.
> >
> > I find this paragraph a bit confusing and not exactly related to
> > this patch. I know I asked you to explain why dropping cur_mon usage
> > shouldn't brake things, but looks like you don't have a good place
> > to have that info.
> >
> >>
> How about refine the message as:
> "Now usage of cur_mon is dropped in readline_completion(), it is safe
> because:
> .....
> "
> ?
I think you have to just describe what this commit does.
- [Qemu-devel] [PATCH V6 00/13] monitor: support sub command group in auto completion and help, Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 01/13] monitor: avoid use of global *cur_mon in cmd_completion(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 02/13] monitor: avoid use of global *cur_mon in file_completion(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 03/13] monitor: avoid use of global *cur_mon in block_completion_it(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 04/13] monitor: avoid use of global *cur_mon in monitor_find_completion(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 05/13] monitor: avoid use of global *cur_mon in readline_completion(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 06/13] monitor: avoid direct use of global variable *mon_cmds, Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 07/13] monitor: code move for parse_cmdline(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 08/13] monitor: refine parse_cmdline(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 09/13] monitor: support sub command in help, Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 10/13] monitor: refine monitor_find_completion(), Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 11/13] monitor: support sub command in auto completion, Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 12/13] monitor: allow "help" show message for single command in sub group, Wenchao Xia, 2013/07/10
- [Qemu-devel] [PATCH V6 13/13] monitor: improve auto complete of "help" for single command in sub group, Wenchao Xia, 2013/07/10