diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-15 15:13:43 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-06-16 11:03:45 +0100 |
commit | 7d3881114add18d5934073d0b04755d343ea38c6 (patch) | |
tree | 651fa2963fa96fbbef54a78092073040bdc2713d /perf/cairo-perf-trace.c | |
parent | 061e0477e9a894241806eeacbde2f3770b751f34 (diff) | |
download | cairo-7d3881114add18d5934073d0b04755d343ea38c6.tar.gz |
[perf] Report errors during replays
Diffstat (limited to 'perf/cairo-perf-trace.c')
-rw-r--r-- | perf/cairo-perf-trace.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/perf/cairo-perf-trace.c b/perf/cairo-perf-trace.c index 67fdb7dcf..9edd4f237 100644 --- a/perf/cairo-perf-trace.c +++ b/perf/cairo-perf-trace.c @@ -239,6 +239,7 @@ execute (cairo_perf_t *perf, low_std_dev_count = 0; for (i = 0; i < perf->iterations && ! user_interrupt; i++) { cairo_script_interpreter_t *csi; + cairo_status_t status; csi = cairo_script_interpreter_create (); cairo_script_interpreter_install_hooks (csi, &hooks); @@ -253,7 +254,14 @@ execute (cairo_perf_t *perf, times[i] = cairo_perf_timer_elapsed (); cairo_script_interpreter_finish (csi); - cairo_script_interpreter_destroy (csi); + status = cairo_script_interpreter_destroy (csi); + if (status) { + if (perf->summary) { + fprintf (perf->summary, "Error during replay: %s\n", + cairo_status_to_string (status)); + goto out; + } + } if (perf->raw) { if (i == 0) @@ -315,6 +323,7 @@ execute (cairo_perf_t *perf, fflush (perf->summary); } +out: if (perf->raw) { printf ("\n"); fflush (stdout); |