Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: use custom file lock functionality #314

Merged
merged 20 commits into from
Dec 29, 2024

Conversation

R1kaB3rN
Copy link
Member

@R1kaB3rN R1kaB3rN commented Dec 24, 2024

umu-launcher currently depends on the filelock module to ensure that only 1 active umu-run process downloads Proton or the runtime. However, implementing file locking is relatively trivial and we do not care about cross platform file locking, async support, nor timeout support.

@R1kaB3rN R1kaB3rN marked this pull request as ready for review December 25, 2024 01:09
@loathingKernel
Copy link
Contributor

loathingKernel commented Dec 25, 2024

Nitpick: Do the locks need to persist through reboots? If not, what do you think of placing the lockfiles in /tmp so they are more likely to be lost after a reboot?

This does not affect normal execution, but should address issues with the lock remaining if outside factors disrupt umu

@R1kaB3rN
Copy link
Member Author

In addition to being able to run on the SD, one of our requirements is being able to run and use umu within a container framework, namely Flatpak and Snap. Those frameworks as well as their corresponding low level sandboxing tools can be configured so that $TMPDIR is a new private tmpfs and can be mounted at a different path. Having our lock files within umu’s host runtime directory avoids any special handling, and guarantees that a lock will always be held when sandboxed.

@R1kaB3rN R1kaB3rN merged commit c30db72 into Open-Wine-Components:main Dec 29, 2024
12 checks passed
@R1kaB3rN R1kaB3rN deleted the no-filelock branch December 29, 2024 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants