Skip to content

Conversation

cgutman
Copy link
Collaborator

@cgutman cgutman commented Dec 21, 2022

Description

This fixes an issue reported by DemonCat on Discord where SunshineSvc could not be restarted if it crashed or was forcefully terminated by the user. This happened because the now orphaned child Sunshine.exe held on to the handle to the log file that SunshineSvc created for it (which was being used as its stdout and stderr).

SunshineSvc doesn't have really any complicated logic post-startup, so the only real reason it's likely to die in the real world is if a user kills it to try to stop Sunshine. The current behavior of leaving Sunshine.exe running definitely isn't doing what the user wants, and doubly so if they can't even start SunshineSvc again afterwards.

Screenshot

Issues Fixed or Closed

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Dependency update (updates to dependencies)
  • Documentation update (changes to documentation)
  • Repository update (changes to repository files, e.g. .github/...)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated the in code docstring/documentation-blocks for new or existing methods/components

Branch Updates

LizardByte requires that branches be up-to-date before merging. This means that after any PR is merged, this branch
must be updated before it can be merged. You must also
Allow edits from maintainers.

  • I want maintainers to keep my branch updated

…c.exe dies

This ensures the log file handle is closed, allowing SunshineSvc to restart successfully after unexpected termination.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants