Fix lockups entering apps or games #1369
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We've found this is caused by a weird config combination... where if a certain TZ is set in runtime, MainUI inherits it and it causes some loops/threads within MainUI to not break out (it gets stuck in a threaded loop which will never exit), so you get stuck at a "Loading" screen when entering Roms, or a complete freeze when entering Apps.
It could be a mismatch of TZ between MainUI and everything that runs "before" it.. IE: updater, customer/main etc. & The kernel will never know about the TZ as we can't insert it so early. This is speculation, the root cause i haven't found.
This is obvious when files are removed from the SD and the time/date of creation checked on a windows PC, the TZ metadata is sometimes bad.
This pr will:
TZ is already set in update_networking.sh main function so no changes needed there for anything called as they will inherit this TZ from their parent.
Games and apps will inherit this from pushing it through cmd_to_run.sh
To verify this PR:
Add in the new runtime.sh from this PR and re-run the above steps, observe no freeze.
The TZ is still correctly passed to retroarch:
And any apps:
Aslong as they're a child of either update_networking or cmd_to_run.sh