telepathy: Call continuations in idle callbacks rather than directly
authorPhilip Withnall <philip@tecnocode.co.uk>
Sun, 30 Dec 2012 22:41:59 +0000 (22:41 +0000)
committerPhilip Withnall <philip@tecnocode.co.uk>
Sun, 30 Dec 2012 22:45:55 +0000 (22:45 +0000)
commit7088fbafafd3e75f02266aa8b093d69660311b36
tree028b3ca385fe9a293473a1a8d022b5e0c31c45fb
parentb3a39598abb3e253541c05c09aa3be43b6a30d74
telepathy: Call continuations in idle callbacks rather than directly

The continuations will proceed to a g_simple_async_result_complete() call,
rather than a g_simple_async_result_complete_in_idle() call as I expected
(and didn’t check). This could result in the first continuation executing
a lot of code and starving the other continuations (and the original
prepare() call). By delaying the continuations to the idle queue, the
original prepare() call is guaranteed to finish first. Then the
continuations can only starve each other.

See: https://bugzilla.gnome.org/show_bug.cgi?id=677633
backends/telepathy/lib/tpf-logger.vala