mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 13:02:03 +00:00
[PR #420] [MERGED] fix(audio): set the pulse on_ready promise at most once #454
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#454
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf/pull/420
Author: @JBailes
Created: 6/4/2026
Status: ✅ Merged
Merged: 6/7/2026
Merged by: @ABeltramo
Base:
stable← Head:fix/pulse-set-value-once📝 Commits (1)
805a3fefix(audio): set the pulse on_ready promise at most once📊 Changes
1 file changed (+21 additions, -3 deletions)
View changed files
📝
src/core/src/platforms/linux/pulseaudio/pulse.cpp(+21 -3)📄 Description
The PA context state callback resolves on_ready for READY/TERMINATED/FAILED. A boost::promise can only be set once, so a connection that goes READY
then later TERMINATED (PulseAudio server going away) calls set_value twice and throws promise_already_satisfied, which is unhandled and crashes Wolf. Guard
on_ready with a one-shot flag, reset in disconnect() when the promise is recreated.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.