Stefan,

--On 6 August 2013 16:45:12 +0200 Stefan Hajnoczi <stefa...@gmail.com> wrote:

Because otherwise make check SEGVs after the patch.

It wasn't clear from the patch why there would be a crash.  I looked
deeper and timerlistgroup_init() calls qemu_get_clock() indirectly, so
we need to make sure that qemu_clocks[] is initialized to avoid a NULL
pointer dereference.

Actually now I recall v4 had:

@@ -215,6 +216,12 @@ AioContext *aio_context_new(void)
    aio_set_event_notifier(ctx, &ctx->notifier,
                           (EventNotifierHandler *)
                           event_notifier_test_and_clear, NULL);
+    /* Assert if we don't have rt_clock yet. If you see this assertion
+     * it means you are using AioContext without having first called
+     * init_clocks() in main().
+     */
+    assert(rt_clock);
+    ctx->tl = qemu_new_timerlist(rt_clock);

The equivalent in v7 would be an assert in timerlist_new_from_clock
to check 'clock' is non-NULL. I shall put that in as the reason for
this SEGV is non-obvious.

--
Alex Bligh

Reply via email to