• Andrea Azzarone's avatar
    sound-player: Don't deadlock in finish_cb · 8856a396
    Andrea Azzarone authored
    The function finish_cb can be called as a result of a call to ca_context_cancel
    in cancelled_cb. This will result in a deadlock because, as per documentation,
    g_cancellable_disconnect cannot be called inside the cancellable handler.
    
    It is possible to detect if the call to finish_cb is caused by ca_context_cancel
    checking if error_code == CA_ERROR_CANCELED. To avoid the deadlock we should
    call g_signal_handler_disconnect instead g_cancellable_disconnect if this is the
    case.
    
    !474
    8856a396
Name
Last commit
Last update
..
backends Loading commit data...
compositor Loading commit data...
core Loading commit data...
meta Loading commit data...
tests Loading commit data...
ui Loading commit data...
wayland Loading commit data...
x11 Loading commit data...
libmutter.pc.in Loading commit data...
meson.build Loading commit data...
meta-marshal.list Loading commit data...
org.freedesktop.login1.xml Loading commit data...
org.gnome.Mutter.DisplayConfig.xml Loading commit data...
org.gnome.Mutter.IdleMonitor.xml Loading commit data...
org.gnome.Mutter.RemoteDesktop.xml Loading commit data...
org.gnome.Mutter.ScreenCast.xml Loading commit data...