QError: Don't abort on multiple faults
authorLuiz Capitulino <lcapitulino@redhat.com>
Mon, 8 Feb 2010 19:01:29 +0000 (17:01 -0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 10 Feb 2010 19:46:17 +0000 (13:46 -0600)
commit84d3362461b2a5239eb88503af72fefb5a8f51f6
treefc4e56507e348227a6081a86f61a3f012887f8ba
parent4dd4477161cff73fcaf9bd687703606b368676eb
QError: Don't abort on multiple faults

Ideally, Monitor code should report an error only once and
return the error information up the call chain.

To assure that this happens as expected and that no error is
lost, we have an assert() in qemu_error_internal().

However, we still have not fully converted handlers using
monitor_printf() to report errors. As there can be multiple
monitor_printf() calls on an error, the assertion is easily
triggered when debugging is enabled; and we will get a memory
leak if it's not.

The solution to this problem is to allow multiple faults by only
reporting the first one, and to release the additional error objects.

A better mechanism to report multiple errors to programmers is
underway.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
monitor.c