{"object_kind":"push","event_name":"push","before":"7ecd51dc80262526d16560373c0c76408dfd946f","after":"5f4b422ab1bfec0b82c948bf0a3ff623424b88aa","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"5f4b422ab1bfec0b82c948bf0a3ff623424b88aa","message":null,"user_id":3060,"user_name":"Wim Taymans","user_username":"wtaymans","user_email":"","user_avatar":"https://secure.gravatar.com/avatar/1ca1bed246cb9b95b7ead6d6be96bb09f0c112953140c8bb38b41aedf4465270?s=80&d=identicon","project_id":4753,"project":{"id":4753,"name":"pipewire","description":"Multimedia processing graphs","web_url":"https://gitlab.freedesktop.org/pipewire/pipewire","avatar_url":"https://gitlab.freedesktop.org/uploads/-/system/project/avatar/4753/pipewire.png","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","namespace":"PipeWire","visibility_level":20,"path_with_namespace":"pipewire/pipewire","default_branch":"master","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git"},"commits":[{"id":"5f4b422ab1bfec0b82c948bf0a3ff623424b88aa","message":"loop: improve cancellation handling\n\nNow that the loop_leave function will assert when the unlock fails we\nneed to be extra careful with the cancellable loop. If it cancels inside\nthe poll or one of the before/after callbacks we need to make sure that\nwe lock the loop correctly again or we will create an assert later on.\n\nDo this by pushing the cleanup earlier and then record all the things we\nmanaged to do before we get canceled. If we ever get canceled and the\nlock was unlocked but not locked again, fix this up.\n\nFix fixes issues when using the JACK API causing assertions when the\ndata loop is stopped/cancelled.\n","title":"loop: improve cancellation handling","timestamp":"2026-03-10T16:46:29+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/5f4b422ab1bfec0b82c948bf0a3ff623424b88aa","author":{"name":"Wim Taymans","email":"wtaymans@redhat.com"},"added":[],"modified":["spa/plugins/support/loop.c"],"removed":[]}],"total_commits_count":1,"push_options":{},"repository":{"name":"pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","description":"Multimedia processing graphs","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","visibility_level":20}}