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