Bug 710668: ESource: Verify removal before returning
authorMatthew Barnes <mbarnes@redhat.com>
Sat, 26 Oct 2013 21:52:40 +0000 (17:52 -0400)
committerMatthew Barnes <mbarnes@redhat.com>
Sat, 26 Oct 2013 23:14:28 +0000 (19:14 -0400)
commit43ef0f5a05242c6755d1d7433de1a224f7fb2b0c
tree6a5fdffa8e1242fba335a660f06fec7f70b24083
parent65a696cbd59bb06f0050a73ead4d3b792fba8ad4
Bug 710668: ESource: Verify removal before returning

Similar to bug 685986 when creating ESources, e_source_remove_sync()
now waits for an "object-removed" signal from GDBusObjectManagerClient
before returning.  But because ESource has no direct connection to the
"object-removed" signal, it waits for the ESourceRegistry to strip the
ESource of its D-Bus proxy via __e_source_private_replace_dbus_object().

Here again, to avoid risking a deadlock we place a limit on the wait
time (two seconds).  If this time limit expires, we return from the
function regardless.
libedataserver/e-source-registry.c
libedataserver/e-source.c