summaryrefslogtreecommitdiff
path: root/perf/cairo-perf-trace.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-06-15 15:13:43 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-06-16 11:03:45 +0100
commit7d3881114add18d5934073d0b04755d343ea38c6 (patch)
tree651fa2963fa96fbbef54a78092073040bdc2713d /perf/cairo-perf-trace.c
parent061e0477e9a894241806eeacbde2f3770b751f34 (diff)
downloadcairo-7d3881114add18d5934073d0b04755d343ea38c6.tar.gz
[perf] Report errors during replays
Diffstat (limited to 'perf/cairo-perf-trace.c')
-rw-r--r--perf/cairo-perf-trace.c11
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);