This PR added a last_version field to cr_plugin to keep track of the last good version. This allows a rollback to skip over multiple crashing versions. This was the simplest way to skip over bad versions during a rollback.
Logic:
plugin at version 1 -- last_version as at 1
recompile: plugin reloads, now at version 2 -- last_version stays at 1
recompile: plugin reloads, now at version 3 -- last_version is updated to 2, because version 2 didn't crash.
version 3 crashes. rollback to version 2. -- last_version still at 2
recompile: plugin reloads, now at version 4 -- last_version stays at 2
version 4 crashes. rollback to version 2. -- last_version still at 2
recompile: plugin reloads, now at version 5 -- last_version stays at 2
recompile: plugin reloads, now at version 6 -- last_version is updated to 5 (version 5 didn't crash).
I have re-worked the changes needed for
cr-sys
This PR added a
last_version
field tocr_plugin
to keep track of the last good version. This allows a rollback to skip over multiple crashing versions. This was the simplest way to skip over bad versions during a rollback.Logic: