jmquigs/ModelMod

full reload + async load can cause model load failure

Opened this issue · 1 comments

Triggering a full (code + data) reload with F10, then another F10 while that load is in progress, will cause the app domain to get unloaded and the load thread will be terminated. Subsequent reloads will fail because the native code appears to remember that the first load is still in progress.

Steps:

  1. Use the launcher to start a game that has some mods
  2. Hit F10 to trigger a full load.
  3. Hit F10 a few more times.

Observed:

  1. mods are never loaded
  2. message about Thread Killed in modelmod log
  3. subsequent attempts to load mod data via F1 or F10 will always fail, though the config & code do appear to be reloaded. Restart required.
    Expected: Hitting F10 while a load is in progress should either gracefully terminate that load or wait for it to complete.

F1 Load binding is not affected because that does not terminate the app domain.