mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-17 10:00:36 +02:00
In the case of having a stale lock file on the system, usually due to an unclean shutdown, have FEX retry if the socket for that lock file is also not available. This resolves the exact case of: ``` FEXBash xeyes & kill -9 `pidof FEXMountDaemon` sudo shutdown -r now FEXBash xeyes & <--- This command would now fail ``` The first command would do: - Check lock file and socket - Spin up FEXMountDaemon - Create Lock file and Socket file - Start executing XEyes in FEXInterpreter The second command would do: - Kills the FEXMountDaemon process - This leaves squashfuse running - The lock file and socket file are now unmanaged and just files on the filesystem The third command would do: - unmounts the squashfuse mount - Leaving a dangling folder as a mount point The fourth command would do: - Check for lock file and socket - Attempt to use lock file, socket, and mount that is dangling - Fail with error Now instead fourth command will do: - Check for lock file and socket - Check if filesystem is valid - Knows that lock file exists but socket isn't active at all - Deletes lock file - Spin up FEXMountDaemon - Create Lock File and Socket File - Start executing XEyes in FEXInterpreter