On 21/10/2016 11:12, Markus Armbruster wrote: > Paolo Bonzini <pbonz...@redhat.com> writes: > >> On 20/10/2016 10:37, Daniel P. Berrange wrote: >>> You have a problem of context - if you have multiple monitors, how do >>> you know which to send the error back to if you're not in the event >>> loop thread, and thus cur_mon is NULL. With Marc-Andre's series which >>> allows proper async command processing it gets even harder, because >>> there's potentially many outstanding commands associated with a monitor >>> and you need to decide which the error should be given to. >> >> Why should it even consult the current monitor? Shouldn't errors go to >> all HMP monitors when QEMU falls back to error_report? > > Maybe. Copying error_report() output to human monitors is a courtesy to > users who fail to watch stderr. But what about QMP? I figure all we > could do there is sending some "Uh, here's an error message that may or > may not be related to anything you've been doing in this monitor, do > with it what you want" event. Would that be useful? > > Also, when you got an HMP monitor and stderr on the same tty (or > whatever), you'd want to suppress one of the two messages.
If you have an HMP monitor you wouldn't print to stderr---stderr would be reserved for the case where there are only QMP monitors. Paolo