Skip to content
  • Sjoerd Simons's avatar
    GDBusConnection: Fix race in /gdbus/connection/life-cycle · f07201c3
    Sjoerd Simons authored and Simon McVittie's avatar Simon McVittie committed
    GDBusConnection sets the closed flag in the worker thread, then adds an
    idle callback (which refs the Connection) to signal this in the main
    thread. The tests session_bus_down doesn't spin the mainloop, so the
    "closed" signal will always fire if iterating the mainloop later (and
    drops the ref when doing so). But _is_closed can return TRUE even before
    signalling this, in which case the "closed" signal isn't fired and the
    ref isn't dropped, causing the test to fail.
    
    Instead simply always wait for the closed signal, which is a good thing
    to check anyway and ensures the ref is closed.
    
    Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661896
    
    
    Reviewed-by: default avatarMatthias Clasen <mclasen@redhat.com>
    f07201c3