fix(windows): wait for Sunshine readiness in service wrapper#5367
fix(windows): wait for Sunshine readiness in service wrapper#5367scenix007 wants to merge 1 commit into
Conversation
c6f0eef to
e3d31b5
Compare
e3d31b5 to
02b5968
Compare
|
This comment was marked as off-topic.
This comment was marked as off-topic.
|
Thank you for the PR submission, but I noticed you didn't use our PR template. Please update the PR to use the correct template. You can find it at https://github.com/LizardByte/.github/blob/master/.github/pull_request_template.md?plain=1 And what does a Linux issue have to do with the Windows service? |
|
Thanks for pointing that out. I updated the PR description to use the project template. You're right about #5294. I had referenced it only because the user-visible symptom was similar, but it is a Linux startup hang and this PR is specifically about the Windows service wrapper reporting |
Did you generate this response with AI? |
You caught me; I wrote one myself, but I found that the AI actually did a better job than I did. So I deleted the one I wrote; I hope you don't mind. |
|
Using AI a tool for coding is okay... I don't really want to have a conversation on PRs with an LLM though. |
Noted |



Description
On Windows,
sunshinesvc.exereportedSERVICE_RUNNINGimmediately afterCreateProcessAsUserW()succeeded. IfSunshine.exestarted but hung before opening its listeners, SCM still showed the service as running even though clients could not discover or connect to the host.This changes the Windows service wrapper to keep the service in
SERVICE_START_PENDINGuntil the child process signals readiness after the configuration HTTPS listener starts. If the child exits, times out, or the active console session changes before readiness, the wrapper cleans up the process and retries instead of reporting a false running state.Validation performed:
git diff --checkcmake -B cmake-build-pr2 -G Ninja -S . -DBUILD_WERROR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DSUNSHINE_ASSETS_DIR=assets -DSUNSHINE_PUBLISHER_NAME=LizardByte -DSUNSHINE_PUBLISHER_WEBSITE=https://app.lizardbyte.dev -DSUNSHINE_PUBLISHER_ISSUE_URL=https://app.lizardbyte.dev/support -DDOTNET_EXECUTABLE=/c/Users/sceni/.dotnet-pr/dotnet.exeninja -C cmake-build-pr2 sunshine sunshinesvcninja -C cmake-build-pr2 test_sunshine./cmake-build-pr2/tests/test_sunshine.exe(340 passed, 7 skipped, 0 failed)Screenshot
N/A; this is Windows service behavior and does not change the UI.
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage