Message ID | 1471498092-27135-3-git-send-email-peterx@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, 08/18 13:28, Peter Xu wrote: > A twin for error_report_fatal(), for programming errors. > > Signed-off-by: Peter Xu <peterx@redhat.com> > --- > include/qemu/error-report.h | 1 + > util/qemu-error.c | 12 ++++++++++++ > 2 files changed, 13 insertions(+) > > diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h > index eb8260e..51a6f31 100644 > --- a/include/qemu/error-report.h > +++ b/include/qemu/error-report.h > @@ -37,6 +37,7 @@ void error_set_progname(const char *argv0); > void error_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); > void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > void error_report_fatal(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > +void error_report_abort(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > const char *error_get_progname(void); > extern bool enable_timestamp_msg; > > diff --git a/util/qemu-error.c b/util/qemu-error.c > index 81379e1..d1c6b10 100644 > --- a/util/qemu-error.c > +++ b/util/qemu-error.c > @@ -11,6 +11,7 @@ > */ > > #include <unistd.h> > +#include <stdlib.h> Not needed, again. > #include "qemu/osdep.h" > #include "monitor/monitor.h" > #include "qemu/error-report.h" > @@ -249,3 +250,14 @@ void error_report_fatal(const char *fmt, ...) > > exit(1); > } > + > +void error_report_abort(const char *fmt, ...) > +{ > + va_list ap; > + > + va_start(ap, fmt); > + error_vreport(fmt, ap); > + va_end(ap); > + > + abort(); > +} > -- > 2.7.4 >
On Tue, Sep 06, 2016 at 05:53:26PM +0800, Fam Zheng wrote: > On Thu, 08/18 13:28, Peter Xu wrote: > > A twin for error_report_fatal(), for programming errors. > > > > Signed-off-by: Peter Xu <peterx@redhat.com> > > --- > > include/qemu/error-report.h | 1 + > > util/qemu-error.c | 12 ++++++++++++ > > 2 files changed, 13 insertions(+) > > > > diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h > > index eb8260e..51a6f31 100644 > > --- a/include/qemu/error-report.h > > +++ b/include/qemu/error-report.h > > @@ -37,6 +37,7 @@ void error_set_progname(const char *argv0); > > void error_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); > > void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > > void error_report_fatal(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > > +void error_report_abort(const char *fmt, ...) GCC_FMT_ATTR(1, 2); > > const char *error_get_progname(void); > > extern bool enable_timestamp_msg; > > > > diff --git a/util/qemu-error.c b/util/qemu-error.c > > index 81379e1..d1c6b10 100644 > > --- a/util/qemu-error.c > > +++ b/util/qemu-error.c > > @@ -11,6 +11,7 @@ > > */ > > > > #include <unistd.h> > > +#include <stdlib.h> > > Not needed, again. Will remove above two lines. Thanks! -- peterx
diff --git a/include/qemu/error-report.h b/include/qemu/error-report.h index eb8260e..51a6f31 100644 --- a/include/qemu/error-report.h +++ b/include/qemu/error-report.h @@ -37,6 +37,7 @@ void error_set_progname(const char *argv0); void error_vreport(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0); void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2); void error_report_fatal(const char *fmt, ...) GCC_FMT_ATTR(1, 2); +void error_report_abort(const char *fmt, ...) GCC_FMT_ATTR(1, 2); const char *error_get_progname(void); extern bool enable_timestamp_msg; diff --git a/util/qemu-error.c b/util/qemu-error.c index 81379e1..d1c6b10 100644 --- a/util/qemu-error.c +++ b/util/qemu-error.c @@ -11,6 +11,7 @@ */ #include <unistd.h> +#include <stdlib.h> #include "qemu/osdep.h" #include "monitor/monitor.h" #include "qemu/error-report.h" @@ -249,3 +250,14 @@ void error_report_fatal(const char *fmt, ...) exit(1); } + +void error_report_abort(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + error_vreport(fmt, ap); + va_end(ap); + + abort(); +}
A twin for error_report_fatal(), for programming errors. Signed-off-by: Peter Xu <peterx@redhat.com> --- include/qemu/error-report.h | 1 + util/qemu-error.c | 12 ++++++++++++ 2 files changed, 13 insertions(+)